我有一个带导航视图的布局。视图层次结构如下所述,
导航视图> A> A1
导航视图>乙
现在,当我在片段A1中时,如果我通过单击导航视图中的菜单打开片段B或片段A,则不会在片段A1中调用onStop或onDestroyView。
我已经在Fragment A1中注册了green-bot事件,现在因为没有调用onStop,事件永远不会被注册。因此,当我再次回到A1时,它正在注册一个新事件,我将两次所有事件。
我该如何解决这个问题?
由于
答案 0 :(得分:1)
onAttach
的{{1}}和onDetach
方法怎么样?在主机活动中添加,删除或替换片段时调用这些方法。
Fragment
答案 1 :(得分:0)
始终无法保证调用onStop()。在onPause()方法上取消注册您的事件。
答案 2 :(得分:0)
您可能忘记在onDestory或OnDetech()上调用 EventBus.unregister
答案 3 :(得分:0)
当活动被销毁时,您可以使用onAttach
和onDetach
作为onDestroy
被调用(执行)。因此,当活动被销毁时,onDestroy
的{{1}}和activity
下的代码将被执行。
fragment