您的位置:首页 > 其它

XRecyclerView应用于Fragement中 转换时发生View紊乱

2016-06-23 20:04 169 查看
  这种情况出现在你使用的Fragement切换时使用的是replace也就是这种

FragmentManager fragmentManager=getSupportFragmentManager();
FragmentTransaction fragmentTransaction=fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.fl_container,fragment,flag).commit();

但是这种方法原理是在切换的时候会杀死不显示的fragement,再切换回去时是又创建的新的,切换的多了 就会出现view控件紊乱的现象,

所以,我们来使用add,hide(隐藏)方法来避免这个问题


Fragment  s=new Fragment ();

private void switchFragment(Fragment fragment,String fragmentname) {
if (fragment != s) {
if (!fragment.isAdded()) {

fm.beginTransaction().hide(s).add(R.id.fl_main, fragment, fragmentname).commit();

} else {
fm.beginTransaction().hide(s).show(fragment).commit();
}
s = fragment;
}
}
这样的弊端是,当切换时,未显示的界面会被放到容器里,有点耗费空间,等待下次切换回来时从容器内拿出来。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: