利用intent附加參數的方式,在fragment所在的activity中判斷壹下intent的附加參數,從而設置顯示哪個fragment,這個比方案壹要簡單明了壹些。大概思路如下
妳可以在妳startactivity的地方,對intent加入壹個參數,例如,intert.putExtra("fragid",1);然後再妳的fragment的主activity中的oncreate或者Onresume函數中獲得這個id,例如int id = intert.getIntegerExtra("fragid",-1);然後根據這個id跳轉即可
if(id > 0) {
if(id == 目標id) myfragment.setvisible(true);
}
方案1:
首先應該明確的是在fragment中,也是可以定義onResultActivity()函數。我們先來重新定義壹下這個場景。activity A創建了fragment B,在fragment B中用startactivityResult()函數跳轉到activity C。
首先,肯定不會執行activity C中的onResultActivity()函數。
其次,首先肯定會去執行activity A中的onResultActivity()函數,不管妳在fragment B中是用的getactivity().onResultActivity(),還是直接使用onResultActivity()。
而且,如果妳重寫了activity A的onActivityResult方法
而沒有super.onActiivtyResult(),那麽妳在fragment B裏的onActivityResult不會被調用。因為super.onActiivtyResult()裏面會去找當前activity A中的fragment,並去調用fragment 的onActiivtyResult。