Fragment
虽然有onResume()
和onPause()
方法,但是这两个方法是Activity
的方法调用时机也与Activity
相同,和ViewPager
搭配使用这个方法就很鸡肋了,根本不是你想要的效果,这里介绍一种方法。
@Override public void setUserVisibleHint(boolean isVisibleToUser) { super.setUserVisibleHint(isVisibleToUser); if (isVisibleToUser) { //相当于Fragment的onResume } else { //相当于Fragment的onPause } }
通过阅读ViewPager
和PageAdapter
相关的代码,切换Fragment
实际上就是通过设置setUserVisibleHint
和setMenuVisibility
来实现的,调用这个方法时并不会释放掉Fragment
(即不会执行onDestoryView)。
时间: 2024-10-09 09:27:54