在fragment 中使用FragmentPagerAdapter 的viewpager的切换效果,从A的fragment切换到B的FragmentPagerAdapter 里面的fragment的会出现空白的页面,需要检查一下在给FragmentPagerAdapter 传入FragmentManager的时候是要用
getChildFragmentManager()
这个方法很重要,否则就会出现空白界面。
取消viewpager中fragment的预加载可以使用如下方法,这个方法可以让数据实现懒加载:
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
//判断Fragment中的ListView时候存在,判断该Fragment时候已经正在前台显示 通过这两个判断,就可以知道什么时候去加载数据了
if (isVisibleToUser ) {
initData(); //加载数据的方法
}
super.setUserVisibleHint(isVisibleToUser);
}
//这个方法会在切换到Fragment显示的时候去调用。
//为了保证一开始加载Fragment的时候该方法提前调用,导致的数据不会加载,我在代码中做出了如下的判断:
@Override
public void onActivityCreated(Bundle savedInstanceState) {
if (getUserVisibleHint() ) {
initData();
}
super.onActivityCreated(savedInstanceState);
}