我有带有菜单抽屉的应用程序。菜单选项之一,将主容器更改为 ViewPager。在 ViewPager 中,我有订阅 Otto 事件总线的片段(在 onResume() 方法中)。第一次点击时,ViewPager 中的 onResume() 方法被调用,然后片段中的 onResume() 方法被调用,因此总线被注册。但是当用户再次单击该选项时,只会调用 ViewPager 的 onPause 方法,因此 Otto(在 onPause() 方法中,在片段中)没有被取消注册。之后我有两辆注册巴士。解决这个问题最好的方法是什么?在 ViewPager 的 onPause() 中手动调用 Fragment 的 onPause() 方法?还是有更好的解决方案?
onGroupClick
onConstructor ActivitiesViewPager
view pager onResume
fragment onCreate
fragment onResume
fragment registering bus
fragment bus event
onGroupClick
onConstructor ActivitiesViewPager
view pager onPause
view pager onResume
fragment onCreate
fragment onResume
fragment registering bus
fragment bus event
fragment bus event