2012-10-22 52 views
1

我有一個DataActivity其有權要求用戶填寫一個表格,然後將數據返回到MainActivity無法觸發onActivityResult()android?

DataActivityMainActivity這樣調用:

Intent i = new Intent(); 
i.setClass(this, DataActivity.class); 
startActivityForResult(i,RESULT_OK); 

DataActivity應該返回數據的意圖MainActivity像這樣:

Intent i = new Intent(); 
i.putExtra("funcX", ((EditText)findViewById(R.id.data_eq_x)).getText().toString()); 
i.putExtra("funcY", ((EditText)findViewById(R.id.data_eq_y)).getText().toString()); 
i.putExtra("constants", (Serializable)constants); 
setResult(RESULT_OK,i); 
finish(); 

onActivityResult永遠不會在MainActivity後... 每當我嘗試訪問funcXfuncYMainActivity,我得到NullPointerexception。

注意:constants變量可以和實際上是空的,當我測試此代碼。

我在模擬器上開發Android 2.2。

回答

2

閱讀文檔的參數requestCodestartActivityForResult

requestCode如果> = 0,這個代碼將被在onActivityResult()返回 活性退出時。

RESULT_OK等於-1 ..

更改您的激活碼,一些正值爲它工作

Intent i = new Intent(this, DataActivity.class); 
startActivityForResult(i,345); 
+0

不能相信這是這麼簡單!謝謝。 – udiboy1209