У меня есть Location
действие, которое можно вызвать из многих действий, например Sign up
и Order
. В Location
действии пользователь вводит свое местоположение, поэтому действие Location
вернет это новое местоположение тому действию, которое его вызвало.
Поэтому, когда Sign up
действие вызывает Location
действие, оно должно вернуть данные в Sign up
действие. В другой раз Order
действие будет делать то же самое.
Заметка
Я знаю, что вы скажете мне, что я должен опубликовать код, но я не прошу вас дать мне код; Мне просто нужны советы, ссылки или хорошие темы.
android
android-activity
onactivityresult
пользователь пользователь
источник
источник
Ответы:
Чтобы запустить действие, которое должно вернуть результат вызывающему действию, вы должны сделать что-то вроде ниже. Вы должны передать код запроса, как показано ниже, чтобы определить, что вы получили результат начатого действия.
В действии вы можете использовать
setData()
для возврата результата.Итак, снова в первом действии вы пишете приведенный ниже код в onActivityResult ()
ИЗМЕНИТЬ на основе вашего комментария: если вы хотите вернуть три строки, следуйте этому, используя пары ключ / значение с намерением вместо использования Uri.
Получите их в onActivityResult, как показано ниже:
источник
requestcode
я могу поставить любое целое число?new Intent(this, OtherActivity.class);
я могу использовать этот код в Activity.Если вы хотите закончить и просто добавить
resultCode
(без данных), вы можете позвонитьsetResult(int resultCode)
раньшеfinish()
.Например:
Затем в своей телефонной деятельности проверьте
resultCode
, все ли у нас в порядке.Не забудьте назвать активность с помощью
startActivityForResult(intent, someCustomRequestCode)
.источник
Activity.RESULT_OK
is на самом деле-1
, если это кого-то смущает. Я бы просто предложил использоватьActivity
константы