寻找此问题的最佳做法解决方案。
Activity1包含带有有效产品微调器的Fragment1
Activity1包含一个操作栏菜单选项'products',它启动包含Fragment2的Activity2(列表片段)。
从Fragment2,您可以使用Activity3 / Fragment3添加/编辑产品。
在Fragment3中所做的更改我正在使用ActivityResult返回Fragment2,我知道我也可以通过接口实现相同的目标。
问题是:在Fragment1微调器中反映片段3中所做更改的最佳方法是什么?
我知道我可以在onResume()中重新加载Fragment1中的微调器值,但是如果我没有在Fragment3中做任何更改,那就没必要了。
答案 0 :(得分:0)
我会使用Observer模式。使用类似
的接口实现接口public void onInputChanged(yourStuff);
让你的第一个Fragment实现这个接口并将片段添加到监听器池。
并从发生变化的Activity中执行类似
的操作EventManager.fireOnInPutChanged(yourData)
EventManager会监听您的听众注册的电话。
像这样,你不需要Activity forResult,你总是知道是否有什么变化。