Отправить данные назад к предыдущему действию - PullRequest
10 голосов
/ 04 января 2011

Мне нужна помощь в отправке данных назад на Activity, который уже запущен.

Я хочу, чтобы пользователь мог выбрать опцию из списка, а затем этот выбор будет использоваться в предыдущем действии. Я знаю, как это сделать, используя намерения, но не могу понять, как это будет работать в этом случае без одновременного запуска произвольного числа одинаковых окон активности.

Вроде как изменение настроек в телефоне, но больше иметь доступ к строке. Если вам нужна дополнительная информация, просто спросите.

Ответы [ 4 ]

8 голосов
/ 04 января 2011

Есть два способа сделать это, первый, а не вызывать startActivity (), вызывать startActivityForResult (), это то, что документация должна сказать об этом:

Иногда вы хотите получить результат от действия, когда оно заканчивается. Например, вы можете начать действие, которое позволяет пользователю выбрать человека в списке контактов; когда он заканчивается, он возвращает человека, который был выбран. Для этого вы вызываете версию startActivityForResult (Intent, int) со вторым целочисленным параметром, идентифицирующим вызов. Результат будет возвращен через ваш метод onActivityResult (int, int, Intent).

http://developer.android.com/reference/android/app/Activity.html

Другой способ сделать это - отправить широковещательную рассылку в конце вашей активности и зарегистрировать broadcastReceiver () в вашей исходной активности.

1 голос
/ 04 января 2011

Если вы начинаете второе действие, используя startActivityForResult() вместо startActivity, тогда, когда второе действие завершится, вы можете установить resultCode и Intent. Затем он вызовет метод:

protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
}

в вашем первом Activity, где вы можете прочитать resultCode и Intent данные

0 голосов
/ 04 января 2011
0 голосов
/ 04 января 2011

Вам необходимо использовать startActivityForResult .

...