我找不到在子活动更改父活动数据的情况下最好的解决方案。我的Activity A包含一系列项目。 Activity A启动Activity B以向用户显示详细信息,然后用户可以运行操作并创建Activity C。 Activity C为Activity A中的列表创建新元素。由于数据保存在数据库中,因此传递数据没有问题,我只对通知感兴趣。
目前我知道两个解决方案:
1)使用startActivityForResult(..)和Extras从Activity B和C返回结果。结果将包含消息"datachanged"-> true / false。
我不喜欢这个方法,因为我无法直接发送消息。
2)总是在onResume中刷新Activity A中的数据。
这样做浪费处理能力吗?
3)从Activity C向Activity A发送Intent(广播)。
还有其他更轻量级的Activity之间的信使系统吗?类似于Activity-Service通信中的Handler和Messanger。可能不应该有这样的系统,因为这违反了设计原则?
目前我知道两个解决方案:
1)使用startActivityForResult(..)和Extras从Activity B和C返回结果。结果将包含消息"datachanged"-> true / false。
我不喜欢这个方法,因为我无法直接发送消息。
2)总是在onResume中刷新Activity A中的数据。
这样做浪费处理能力吗?
3)从Activity C向Activity A发送Intent(广播)。
还有其他更轻量级的Activity之间的信使系统吗?类似于Activity-Service通信中的Handler和Messanger。可能不应该有这样的系统,因为这违反了设计原则?
onPause()
中注销。所以当Activity在后台时,看起来我不应该使用广播。 - user364622