3

这里有很多与我有完全相同问题的人提出的问题,我已经看了一百万,现在尝试了 2-3 个小时不同的东西,但我仍然无法让它工作。

儿童活动:

Intent resultIntent = new Intent(myColorPicker.this, WidgetConfig.class);
resultIntent.putExtra("key", appwidget_notecolor);
setResult(RESULT_OK, resultIntent);
finish();

家长活动:

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
  super.onActivityResult(requestCode, resultCode, data);
  // Toast does not show
  Toast.makeText(getApplicationContext(), "onActivityResult fired", Toast.LENGTH_SHORT).show();

  if (resultCode == RESULT_OK ) {
        // Toast does not show
        Toast.makeText(getApplicationContext(), "Result Recieved", Toast.LENGTH_SHORT).show();
    }
}

我从父活动启动子活动,如下所示:

Intent myColorPickerIntent = new Intent(WidgetConfig.this, myColorPicker.class);
myColorPickerIntent.putExtra("appwidget_notecolor", appwidget_notecolor);
WidgetConfig.this.startActivity(myColorPickerIntent);
4

3 回答 3

12

当然你不会得到结果,你调用的是 startActivity() 而不是 startActivityForResult()。

于 2013-04-09T22:56:49.943 回答
5

创建 Intent 后,您似乎没有调用 startActivityForResult() 。

于 2013-04-09T22:54:41.013 回答
3

您是否将意图传递给 startActivityForResult() 方法?

于 2013-04-09T22:55:04.873 回答