无法触发onActivityResult()android?

时间:2012-10-22 18:16:40

标签: android android-activity

我有DataActivity,必须要求用户填写表单,然后将数据返回MainActivity

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 ... 每当我尝试访问funcX中的funcYMainActivity时,我都会获得NullPointerexception。

注意:当我测试此代码时,constants变量实际上可能为null。

我正在模拟器上开发Android 2.2。

1 个答案:

答案 0 :(得分:2)

阅读requestCode

上参数startActivityForResult的文档
  

requestCode如果> = 0,将在onActivityResult()中返回此代码   当活动退出时。

RESULT_OK等于-1 ..

将您的请求代码更改为某个正值以使其生效

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