在我的应用程序中,我有一个左侧菜单,用于控制Fragment
中FragmentView
个MainActivity
个事务。在FragmentView
之上,我在新GMAIL中使用的新PullToRefresh
组件仅在一个Fragment
中刷新。
如果我将此Fragment
替换为另一个,我想停止刷新它。
getSupportFragmentManager().beginTransaction()
.replace(R.id.fragment_container, new pullToRefreshFragment())
.commit();
我希望FragmentManager
坚持传统的FragmentLifeCycle然后,我决定停止PullToRefresh
,onPause
,{{1}中的onDestroy
组件}或onStop
方法。不幸的是,从来没有调用那些方法替换onDetach()
。如果我从左侧菜单中选择了相同的片段,它们只会被替换。
Fragment
这意味着,@Override
public void onDetach() {
if(mPullToRefreshLayout.isRefreshing()){
mPullToRefreshLayout.setRefreshComplete();
}
super.onDetach();
}
正在缓存片段并且不会销毁它们,除非我尝试用同一类型的另一个片段替换片段。
我的问题是,在使用FragmentManager
替换或添加新片段时,片段lifeCycle是什么?
我应该在哪里停止我的PullToRerfesh组件,如果我想在用另一个片段替换片段时停止它?