话不多少,上问题。关于viewpager切换时,所在fragment生命周期方法如何进行的?
vp_FirstFragment,vp_SecondFragment,vp_ThirdFragment是viewpager的三个界面
比如 第一个界面初始化显示时,会预加载第二个界面,
直接就会走到第二个界面的onresume
vp_FirstFragment-------onAttach:
vp_FirstFragment-------onCreate: ---
vp_FirstFragment-------onCreateView:
vp_FirstFragment-------onActivityCreated:
vp_FirstFragment-------onStart:
vp_FirstFragment-------onResume:
vp_SecondFragment-------onAttach:
vp_SecondFragment-------onCreate: ---
vp_SecondFragment-------onCreateView:
vp_SecondFragment-------onActivityCreated:
vp_SecondFragment-------onStart:
vp_SecondFragment-------
onResume:
滑到第二个界面:就会预加载第三个界面至onresume
vp_ThirdFragment-------onAttach:
vp_ThirdFragment-------onCreate: ---
vp_ThirdFragment-------onCreateView:
vp_ThirdFragment-------onActivityCreated:
vp_ThirdFragment-------onStart:
vp_ThirdFragment-------
onResume:
滑到第三个界面时: 第一个界面就销毁了,
vp_FirstFragment-------onPause:
vp_FirstFragment-------onStop:
vp_FirstFragment-------onDestroyView:
vp_FirstFragment-------onDestroy:
vp_FirstFragment------
-onDetach:
结论:viewpager界面的切换当前界面生命周期方法是不会走的,要想在切换至下一级界面做一些刷新界面的事情的话,就需要监听viewpager了
pager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageSelected(int position) {
fragmentList.get(position).refresh();//针对滑到对应的界面,刷新对应的方法就可以了,fragmentlist是viewpager中fragment的集合
}