Android NavigationView onDestroy未调用

时间:2016-11-25 16:00:30

标签: android android-fragments android-navigationview event-bus greenrobot-eventbus

我有一个带导航视图的布局。视图层次结构如下所述,

  

导航视图> A> A1
  导航视图>乙

现在,当我在片段A1中时,如果我通过单击导航视图中的菜单打开片段B或片段A,则不会在片段A1中调用onStop或onDestroyView。

我已经在Fragment A1中注册了green-bot事件,现在因为没有调用onStop,事件永远不会被注册。因此,当我再次回到A1时,它正在注册一个新事件,我将两次所有事件。

我该如何解决这个问题?

由于

4 个答案:

答案 0 :(得分:1)

onAttach的{​​{1}}和onDetach方法怎么样?在主机活动中添加,删除或替换片段时调用这些方法。

Fragment

答案 1 :(得分:0)

始终无法保证调用onStop()。在onPause()方法上取消注册您的事件。

答案 2 :(得分:0)

您可能忘记在onDestory或OnDetech()上调用 EventBus.unregister

答案 3 :(得分:0)

当活动被销毁时,您可以使用onAttachonDetach作为onDestroy被调用(执行)。因此,当活动被销毁时,onDestroy的{​​{1}}和activity下的代码将被执行。

fragment