2015-04-16 42 views
-4

我從片段會返回在活動MainActivity的活動SetExperimentActivity這樣以後被稱爲在SetExperimentActivity中,我做了一些操作,然後重定向回MainActivity,使用額外的parcelable,如下所示:onActivityResult不是從活動

Intent myIntent = new Intent(); 
myIntent.putExtra(Constants.EXTRA_EQUIPMENT, equipment); 
setResult(0, myIntent); 
finish(); 

onActivityResult未被調用

+4

getIntent從來沒有這麼返回null – Blackbelt

回答

1

在這種情況下,您應該使用startActivityForResult而不是startActivity!請參閱Getting a Result from an Activity上的官方文件。

+0

我設置了 - myIntent.putExtra(Constants.EXTRA_EQUIPMENT,設備); .... setResult(0,myIntent); .... finish();它返回到MainActivity但我的onActivityResult不叫 –

+0

你在哪裏調用onActivityResult? –

+0

在MainActivity類中調用startActivityForResult來調用其他活動 –

0

startactivityforresult方法是在你的第一個活動的呼叫,然後填寫後,在第二個活動的數據,我們可以使用setresult(RESULT_OK,data);然後調用後onactivityresult在你第一次活動在這裏輸入代碼:

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
// Check which request we're responding to 
if (requestCode == PICK_CONTACT_REQUEST) { 
    // Make sure the request was successful 
    if (resultCode == RESULT_OK) { 
     // The user picked a contact. 
     // The Intent's data Uri identifies which contact was selected. 

     // Do something with the contact here (bigger example below) 
    } 
} 
} 
相關問題