2013-10-16 55 views
0

在我的片段我做:onActivityResult不叫片段

Intent intent = new Intent(getActivity(), OtherActivity.class); 

    startActivityForResult(intent, RETURN_CODE); 

我已經重寫onActivityResult我的活動

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 

    logger.debug("!!ACTIVITY!!!Returned from the activity!!!!"); 

    super.onActivityResult(requestCode, resultCode, data); 
} 

也是一樣的片段!問題是這個方法只在Activity上被調用,而不在片段中。任何線索爲什麼?

+0

看到[this](http://stackoverflow.com/questions/17085729/startactivityforresult-from-a-fragment-and-finishing-child-activity-doesnt-c)的問題。 –

回答

0

有一個與支持V4的問題,嘗試在活動中使用onActivityResult使用onPostResume 下面的代碼

protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    returningWithResult = true; 
    this.mData = data; 
    mRequestCode = requestCode; 
    mResultCode = resultCode; 
} 

和onPostResume

@Override 
protected void onPostResume() { 
    // TODO Auto-generated method stub 
    super.onPostResume(); 
    if (returningWithResult) 
     <your fragment>.actionOnActivityResult(mRequestCode, mResultCode, mData); 

    returningWithResult = false; 
} 

也試圖從活動的結果發起的意圖只是

public void launchIntent(Intent intent, int code) { 
    startActivityForResult(intent, code); 
} 

在片段中u se

getActivity().launchIntent(intent, PICK_FROM_CAMERA); 

我不知道原因,但它對我有用。希望能幫助到你。