Передача данных из Новой активности в старую деятельность? - PullRequest
3 голосов
/ 23 апреля 2010

Я пытаюсь получить данные от новой активности к старой активности.

Другими словами, новая активность должна отправлять целевые данные старой активности после ее завершения.

Я использую setResult(resultcode, NewActivity.this.getIntend); для новых действий и

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if(data != null) {
        // doing something
    }     
}

по старой активности. Получает данные о намерениях от новой деятельности.

Но этот код не работает. Всегда получать данные - ноль.

Как отправить данные о намерениях из завершения Activity в родительское действие?

Также при создании новой активности я использую следующий код:

Intent intent = new Intent(Intent.ACTION_PICK);
intent.setClass(OldActivty.this, NewActivity.class);
startActivityForResult(intent, 0);

Я не понимаю, почему всегда получать данные с нулевыми намерениями от более нового.

как это исправить?

Пожалуйста, совет.

Спасибо

1 Ответ

8 голосов
/ 23 апреля 2010

Как пишет CommonsWare в своем комментарии, вы передаете то же самое намерение в свою деятельность, которое вы использовали для запуска действия.

Попробуйте что-то вроде следующего кода:

Intent newIntent = new Intent();
newIntent.putExtra(key, yourData)
newIntent.putExtra(key2, moreData)

setResult(resultcode, newIntent);

В вашем случае Намерение требуется только для хранения данных, которые передаются обратно. Для этого вы можете использовать стандартный конструктор.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...