2015-11-19 214 views
-1

最初我們爲我們的應用程序進行了活動,因爲我們使用onActivityResult從活動返回活動。 但現在我們正在變成片段,但我們沒有得到片段之間的返回值。 片段之間是否有onActivityResult的解決方案。如何從Android中的基本活動更新片段內的片段片段?

+0

你是指「片段之間」是什麼意思? –

+0

可能的重複:http://stackoverflow.com/questions/17085729/startactivityforresult-from-a-fragment-and-finishing-child-activity-doesnt-c – Kuffs

+0

和另一個:http://stackoverflow.com/questions/6147884/onactivityresult-not-being-being-being-in-fragment – Kuffs

回答

1

是有一個解決方案:

對您的活動:不要做任何事情。如果您出於某種原因絕對需要,您必須始終致電super,如下所示。

@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
} 

那麼,你的片段,你叫:

public void doSomethingThatNeedsActivityResult(){ 
    startActivityForResult(intent, YOUR_FRAG_REQUEST_CODE) 
} 

@Override 
public void onActivityResult (int requestCode, int resultCode, Intent data){ 
    if(requestCode == YOUR_FRAG_REQUEST_CODE){ 
     // here the result 
    } 
} 

重要的要注意的是,你不應該叫getActivity().startActivityForResult(...)則必須使用具體片段的方法被調用。