У меня есть ситуация, когда у меня есть 3 вида деятельности.Возвращаясь к действию бабушки и дедушки (не родитель)
- ResultsActivity
- SimpleSearchActivity
- ComplexSearchActivity
Поток работает следующим образом: пользователь может выбрать поиск от ResultsActivity, который запустит SimpleSearchActivity. Оттуда пользователь может выполнить простой поиск. Результатом является возврат к активности результатов.
Однако из SimpleSearchActivity пользователь может выполнить сложный поиск, который завершит SimpleSearchActivity и запустит ComplexSearchActivity. Оттуда я хочу передать результат обратно в ResultsActivity. Я не уверен, как это сделать, поскольку это 3-е действие не было запущено с первого действия, а второе.
Опции Я рассмотрел:
В комплексе поиска случае вернуться к ResultsActivity и запустить ComplexSearchActivity оттуда. Не уверен, что я действительно этого хочу, так как я не хочу, чтобы SimpleSearch закрывался, возвращаясь к результатам, а затем сразу же запустил Complex. Я волнуюсь, что это «запустит» ResultsActivity перед запуском ComplexSearchActivity.
В сложном поисковом случае, из SimpleSearch запускает ComplexSearch с startActivityForResult (...), на сложной завершающей стадии простой поиск может захватить результат, а затем передать это обратно на активность результатов. Я не уверен, что эта цепочка будет работать. Даже если это так, я волнуюсь, что при сложном завершении SimpleSearchActivity будет «мигать», чтобы передать результаты назад.
Храните результаты поиска в статической переменной где-то и на запуске ResultsActivity просто проверяйте эту статическую переменную, которая могла быть задана либо поисковой деятельностью. Тьфу!
Я также думал о том, что у меня есть только одна активность поиска и вы можете показать/скрыть определенные поля (простые и сложные). Однако я запускаю простой поиск в виде активности диалога (в случае с планшетом) и сложного поиска в полноэкранном режиме. Поэтому я не могу использовать одну и ту же операцию поиска.
Идеи? Кто-нибудь пробовал что-то подобное раньше?
Это может быть дубликат http://stackoverflow.com/questions/19772284/android-can-you-get-an-activity-result-from-a-chained-startactivityforresult?rq=1. Is showC.setFlags (Intent.FLAG_ACTIVITY_FORWARD_RESULT); ответ? – lostintranslation