前段时间项目中首页viewpager嵌套滑动偶尔出现内部fragment中的viewpager滑动出现问题,滑动不了,卡顿的情况。
以前也有做过类似的嵌套,没出现问题,不知道为什么这次会出现。
一度以为是vp.setOffscreenPageLimit()设置的问题;但是改了之后还是会出现。
解决方案1:直接弃用嵌套,外部不再用viewpager(这种解决方案得需求通过)
弃用之后,写好的fragment用什么来表现呢。
我是用transaction.hide,add,show来操作的。
FragmentManager fm = getSupportFragmentManager();
// 开启Fragment事务
FragmentTransaction transaction = fm.beginTransaction();
switch (view.getId()) {
case R.id.rb_home:
if (homePrizesFragment != null) {
transaction.hide(homePrizesFragment);
}
if (homeShareFragment != null) {
transaction.hide(homeShareFragment);
}
if (homeMeFragment != null) {
transaction.hide(homeMeFragment);
}
if (homeFragment == null) {
homeFragment = new HomeFragment();
transaction.add(R.id.fl_content, homeFragment);
} else {
transaction.show(homeFragment);
}
setRbSelect(HOME);
break;
add和show时要注意是否已经存在该fragment
解决方案2:重写viewpager,可是我还没搞出来_=_,以后再补上