【问题标题】:Cannot get to trigger onActivityResult() android?无法触发 onActivityResult() android?
【发布时间】:2012-10-22 18:16:40
【问题描述】:

我有一个DataActivity,它必须要求用户填写表格,然后将数据返回给MainActivity

DataActivity 是从 MainActivity 调用的,如下所示:

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 中调用... 每当我尝试在MainActivity 中访问funcXfuncY 时,都会出现NullPointerexception。

注意:constants 变量在我测试这段代码时可以而且实际上是 null。

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

【问题讨论】:

    标签: android android-activity


    【解决方案1】:

    阅读startActivityForResult上参数requestCode的文档

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

    RESULT_OK 等于 -1..

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-07
      • 2014-10-24
      相关资源
      最近更新 更多