【发布时间】:2018-03-07 13:35:25
【问题描述】:
我有一个AppCompatActivity(MainActivity),它有一个recyclerview,点击卡片项目后,它会将我带到2nd AppCompatActivity。我通过意图传递值并从recyclerview_adapter.ViewHolder 发送mCtx.startActivityForResult(intent,1)。
从活动 2 传递到活动 3 的数据:
Intent intent = new Intent(2ndActivity.this, 3rdActivity.class);
intent.putExtra("user", user);
intent.putExtra("location", location);
startActivity(intent);
然后在第二个活动中单击 提交 按钮后,它会将我带到第三个活动。这里我通过调用发送数据
setResult(AppCompatActivity.RESULT_OK,new Intent().putExtra("user", user).putExtra("location", location));
finish();
在我回到第一个 Activity(MainActivity) 之后,onActivityResult() Intent Data 为空。
当我通过 3 个活动传递数据时如何获取数据?
感谢您的帮助。 提前致谢!
【问题讨论】:
-
如果您从第三个活动转到第一个活动,它将为空,因为第三个活动不会使用
setResult()方法为第一个活动设置结果。 -
那我怎样才能让它从第三个活动到第一个活动?
-
请贴一些代码。如果您在 startActivityForResult() 中指定 Activity,onActivity 结果将期望来自该活动的结果,而不是第 3 个。使用广播等其他机制成功地将数据从 3rd 传输到 1st Activity。
标签: android android-intent parcelable