startActivityForResult在哪里提供Intent,我如何在被调用的Activity中收集它?

时间:2011-02-25 18:19:17

标签: android

在我的过程中,我尝试使用startActivityForResult从appA启动appB并来回传递一些数据。 我可能没有正确使用它,因为当appB启动时(它正确地执行),其savedInstanceState(onCreate param)为null。

我在appA中创建的意图(在调用appB之前)填充的不是Bundle吗?如果不是我在哪里获得该捆绑包?

另外,当我完成()appB哪个捆绑包时,我打包了我想要在其onActivityResult处理程序中交回appA的数据?

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

博士。 D.您的应用中实际上至少有四组状态。 1)活动一(父)的非视图状态,它可以在软杀死(电话轮换)时丢失。 2)在软杀(手机旋转)时可能丢失的活动二(小孩)的非视图状态。 3)数据从活动1传递到2并从活动2返回到1的状态.4)硬杀死时活动1的非视图和视图状态(活动1具有焦点时用户回击按钮。

我在3 here上有示例代码,演示了使用意图添加额外数据并使用setResult检索数据,以及使用onSaveInstanceState在1),2)here保存状态。

最后,我有一些代码here演示如何使用可序列化的对象和方法(如putSerializable和getSerializable)封装数据。

我希望有帮助, JAL博士