1

我有一个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......每当我尝试访问funcXfuncYMainActivity,我都会得到 NullPointerexception。

注意:constants当我测试这段代码时,变量可以而且实际上是空的。

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

4

1 回答 1

2

阅读startActivityForResult上参数requestCode的文档

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

RESULT_OK 等于 -1..

将您的请求代码更改为某个正值以使其正常工作

Intent i = new Intent(this, DataActivity.class);
startActivityForResult(i,345);
于 2012-10-22T18:19:45.657 回答