我有三个活动,称为A,B和C. A是B和C的父活动。以下是所有可能的活动流程。
B和C都可以修改存储在A中的数据。所以我让B和C通过意图将修改后的数据发送回A,并使用A的onActivityResult
来更新这些数据。
问题在于流程4,如果B修改了某些数据,我该如何将这些修改发送回A?我应该将它们传递给C并让C将它们发送回A而C绝对不需要这些数据吗?
更新
我在流程4中发现。活动A的onActivityResult
未收到返回的Intent
,Intent
参数始终为null
,因此我们无法通过从C到A的数据。
最初我认为A会收到C Intent
,所以我可以将B的数据传递给C然后传递给A,但这是错误的。活动A在流程4中未收到任何Intent
。
现在我决定更改向上按钮的动作,使其与后退按钮相同,因此流程4将消失。
答案 0 :(得分:0)
流程4没有问题。
只需修改B中的数据,无需将数据传递给其他活动。
在B完成之前调用setResult()
,像其他flow.it将返回A成功。
答案 1 :(得分:0)
这不是问题的直接答案,而是建议:
如果活动之间存在较高的互动或需要过多的活动,而不是过多的活动或活动交易,请尝试使用碎片。
使用界面(与JAVA相同/相似)是片段的魔杖。 使用碎片使编码变得像在字面上交换页面一样简单(诅咒有用)。
以下是有用的链接:(您可以复制,粘贴此代码并根据您的要求进行操作)