我有一个带导航 View 的布局。 View 层次结构解释如下,
Navigation View> A > A1
Navigation View> B
现在,当我在 Fragment A1 中时,如果我通过单击导航 View 中的菜单打开 Fragment B 或 Fragment A,则不会在 Fragment A1 中调用 onStop 或 onDestroyView。
我已经在 Fragment A1 中注册了 green-bot 事件,现在由于没有调用 onStop,事件永远不会取消注册。因此,当我再次回到 A1 时,它正在注册一个新事件,我得到了所有事件两次。
我该如何解决这个问题?
谢谢
最佳答案
Fragment
的onAttach
和onDetach
方法怎么样。在主机 Activity 中添加、删除或替换 fragment 时调用这些方法。
@Override
public void onAttach(Context context) {
super.onAttach(context);
//register green-bot event here
}
@Override
public void onDetach() {
//un-register green-bot here
super.onDetach();
}
关于Android NavigationView onDestroy 未调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40808733/