在我的应用程序中,我将片段动态添加到主活动视图中的容器中。我想知道当我们添加 Fragment 时使用 Otto 时传递数据的最佳方式是什么。目前这就是我正在做的事情,请举例说明我没有发布我的 CustomObject
在我的主要活动中
getSupportFragmentManager().beginTransaction()
.add(R.id.fragment_container, MY_CUSTOM_FRAGMENT).commit();
BusProvider.getInstance().post(produceCustomString());
在我的片段里面
@Subscribe
public void onCustomStringChanged(String customString) {
}
方法注释为@Subscribe
如果您还有一个,则会自动调用@Produce
注册相同类型的方法。
通知此类新数据片段的最佳方法是您有一个@Produce
活动方法:
@Produce public String produceCustomString() {
return "Hello, World!";
}
然后你所有的片段都有@Subscribe
方法:
@Subscribe public void onCustomStringEvent(String event) {
// ...
}
当您注册具有此方法的片段时,Otto 将调用@Produce
活动上的方法来获取最新值,并将其传递给片段的方法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)