0

寻找此问题的最佳实践解决方案。

Activity1 包含带有有效产品微调器的 Fragment1

Activity1 包含一个操作栏菜单选项“产品”,它启动包含 Fragment2(列表片段)的 Activity2。

在 Fragment2 中,您可以使用 Activity3/Fragment3 添加/编辑产品。

在 Fragment3 中所做的更改我正在使用 ActivityResult 回到 Fragment2,我知道我也可以使用接口实现相同的效果。

问题是:让 Fragment 3 中的更改反映在 Fragment1 微调器中的最佳方法是什么?

我知道我可以在 onResume() 中重新加载 Fragment1 中的微调器值,但如果我没有在 Fragment3 中进行任何更改,这将是不必要的。

4

1 回答 1

0

我会使用观察者模式。用类似的东西实现一个接口

public void onInputChanged(yourStuff);

让您的第一个片段实现此接口并将片段添加到侦听器池。

并从您发生更改的活动中,执行类似的操作

EventManager.fireOnInPutChanged(yourData)

EventManager 将 b 您的听众注册的电话。

像这样,您将不需要 Activity forResult 并且您始终知道是否发生了变化。

于 2013-09-18T12:48:26.617 回答