3

我使用 Otto 总线将事件从活动传递到片段。问题是,片段由 管理ViewPager并且可以重新创建片段而无需执行其onPause()和/或onResume()。不愉快的副作用是,在bus.unregister(fragment)调用中onPause()调用时会定期失败并出现 IllegalArgumentException。我还怀疑对我的@Subscribe注释方法的调用可能会被错过,因为bus.register()调用在onResume()方法中也不能被调用。而且,不幸的是,没有bus.isRegistered(fragment)办法进行安全检查。

有没有更好的方法来注册/注销 ViewPager 托管片段?

我知道这篇文章讨论了类似的设置,但它不包括在 ViewPager 中运行的片段

4

1 回答 1

1

如果您因为遇到类似问题而来到这里 - 事实证明(感谢 Nick Campion 指出)onPause\onResume我的片段没有任何问题。我只是register/untegister打了两次电话:一次在父抽象类中,另一次在子类中。如class MyFragment extends AbsFragment. 所以也许看看你的代码

于 2013-02-07T23:01:31.583 回答