我有一種情況,我有3個活動。將活動結果傳遞給祖父母活動(非父母)
- ResultsActivity
- SimpleSearchActivity
- ComplexSearchActivity
的流程如下:用戶可以選擇從哪個將推出SimpleSearchActivity的ResultsActivity搜索。從那裏用戶可以執行簡單的搜索。結果將傳遞給「結果」活動。
但是從SimpleSearchActivity用戶可以選擇做一個複雜的搜索,這將完成SimpleSearchActivity並啓動ComplexSearchActivity。從那裏我想將結果傳回給ResultsActivity。我不知道該怎麼做,因爲這第三項活動並非從第一項活動中啓動,而是第二項活動。
選項我已考慮:
在複雜的搜索情況下回到ResultsActivity並從那裏啓動ComplexSearchActivity。不知道我真的想要這樣做,因爲我不想讓SimpleSearch關閉返回到結果,然後立即啓動複雜。我擔心這會在啓動ComplexSearchActivity之前'閃現'ResultsActivity。
在複雜的搜索情況下,SimpleSearch啓動ComplexSearch和startActivityForResult(...),在複雜的結束時,簡單的搜索可以獲取結果,然後將結果傳遞迴結果活動。我不確定這個鏈接會起作用。即使這樣做,我擔心在複雜的結束時,SimpleSearchActivity會'閃現',只是爲了傳遞結果。
將搜索結果存儲在某個地方的靜態變量中,並在ResultsActivity啓動時檢查可能已由任一搜索活動設置的靜態變量。呸!
我也想到了只有一個搜索活動和做某些領域(簡單VS複雜)顯示/隱藏。但是,我將簡單搜索作爲對話活動(在平板電腦中)和複雜搜索作爲全屏活動進行。所以我不能真正使用相同的搜索活動。
想法?有沒有人嘗試過這樣的事情?
這可能是http://stackoverflow.com/questions/19772284/android-can-you-get-an-activity-result-from-a-chained-startactivityforresult?rq=1的重複。是showC.setFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT); 的答案? – lostintranslation