ViewPager2+Fragment上下滑Fragment生命周期
时间: 2024-01-21 09:02:42 浏览: 212
探究fragment生命周期
4星 · 用户满意度95%
在使用ViewPager2+Fragment时,每个Fragment的生命周期会在ViewPager2的切换过程中被调用,具体如下:
1. onAttach():当Fragment与Activity建立关联时调用。
2. onCreate():当Fragment被创建时调用。
3. onCreateView():当Fragment的布局被创建时调用。
4. onViewCreated():当Fragment的布局被创建后调用。
5. onStart():当Fragment可见时调用。
6. onResume():当Fragment与用户交互时调用。
7. onPause():当Fragment失去焦点时调用。
8. onStop():当Fragment不再可见时调用。
9. onDestroyView():当Fragment的布局被销毁时调用。
10. onDestroy():当Fragment被销毁时调用。
11. onDetach():当Fragment与Activity解除关联时调用。
在ViewPager2中,当用户滑动到一个新的Fragment时,会先调用新的Fragment的onAttach()、onCreate()、onCreateView()、onViewCreated()方法,然后再调用旧的Fragment的onPause()、onStop()、onDestroyView()、onDestroy()、onDetach()方法。当用户再次滑动回到旧的Fragment时,会先调用旧的Fragment的onAttach()、onCreate()、onCreateView()、onViewCreated()方法,然后再调用新的Fragment的onPause()、onStop()、onDestroyView()、onDestroy()、onDetach()方法。
需要注意的是,当ViewPager2中的Fragment被销毁后,会调用Fragment的onDestroy()方法,但Fragment的实例对象并没有被销毁,而是被保存在FragmentManager中,当用户再次滑动到该Fragment时,会重新调用Fragment的onCreate()方法。
阅读全文