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