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; } }
这样的弊端是,当切换时,未显示的界面会被放到容器里,有点耗费空间,等待下次切换回来时从容器内拿出来。
相关文章推荐
- 第十五周项目二(2)-洗牌(采用STL的 random_shuffle 算法)
- Problem G: 我是水题
- PAT(乙级)1012. 数字分类
- 文章标题
- HDFS API的java代码分析与实例
- Problem D: 二叉树的中序遍历
- 常用求和、排序等
- 计算机视觉、机器学习相关领域论文和源代码大集合
- Electron安装
- 进程间通信(IPC)
- 补题 Problem E: 积木积水 分治算法
- (Paper)Network in Network网络分析
- 转载:C++ operator关键字(重载操作符)
- item3 二维数组中的查找[剑指offer]
- Linux基础篇十 ——文件操作
- 社会化登录踩的几个坑
- PAT(乙级)1011. A+B和C
- Problem C: 记忆力不好的小红
- 采用handle消息机制实现轮播效果
- 组策略对应注册表位置详细解读