Fragment 切换问题
- public void switchContent(Fragment fragment) {
- if(mContent != fragment) {
- mContent = fragment;
- mFragmentMan.beginTransaction()
- .setCustomAnimations(android.R.anim.fade_in, R.anim.slide_out)
- .replace(R.id.content_frame, fragment) // 替换Fragment,实现切换
- .commit();
- }
- }
- 每次切换时此个Fragmnet都会被实例化,这种方式使用时适合只做一次处理,永久性的替换。如果它的切换平率过高的话,不建议使用replace()忒费内存
- 建议使用:切换方式是add(),切换时hide(),add()另一个Fragment;再次切换时,只需hide()当前,show()另一个。
这样就能做到多个Fragment切换不重新实例化:
/*
* 设置Fragment选择
*/
private void setFragmentSelection(int index) {
ft = fm.beginTransaction();
initFragment(ft); 每次切换时都隐藏刚才显示的
switch (index) {
// 当选择的是私人的时候
case R.id.rb_personGroup:
if (fragment_Person == null) {
fragment_Person = new ULFragment_Person();
ft.add(R.id.userlist_fragement_main, fragment_Person);
} else {
// 重建view视图,附加到UI上并显示。
ft.show(fragment_Person);
}
break;
// 当选择的是共享组的时候
case R.id.rb_sharedGroup:
if (fragment_Shared == null) {
fragment_Shared = new ULFragment_Shared();
ft.add(R.id.userlist_fragement_main, fragment_Shared);
} else {
// 重建view视图,附加到UI上并显示。
ft.show(fragment_Shared);
}
break;
}
ft.commit();
}
/*
* 初始化Fragment 记性判断fragment是否隐藏。
*/
private void initFragment(FragmentTransaction ft2) {
if (fragment_Person != null) {
// 会将view从UI中移除,和remove()不同,此时fragment的状态依然由FragmentManager维护。
ft2.hide(fragment_Person);
}
if (fragment_Shared != null) {
ft2.hide(fragment_Shared);
}
}
Fragment 切换问题的更多相关文章
- ViewPager+RadioGroup实现标题栏切换,Fragment切换
1.说明: 在使用RadioGroup做标题栏切换的时候,跟ViewPager的滑动有冲突,最后查看了源码+断点调试解决了一些碰到的问题,写一篇博客总结一下,有同样需求的朋友可以借鉴一下,自己以后有用 ...
- fragment切换刷新 及下拉刷新
此工程较BaiduLocationXMLFragmentDB相比:1.滑动fragment自动刷新该fragment2.下拉刷新fragment,上拉暂未实现 a.fragment切换刷新 1 . 由 ...
- ViewPager -- Fragment 切换卡顿 性能优化
当ViewPager切换到当前的Fragment时,Fragment会加载布局并显示内容,如果用户这时快速切换ViewPager,即 Fragment需要加载UI内容,而又频繁地切换Fragment, ...
- 实现Fragment 切换时不重新实例化
以前实现Fragment的切换都是用replace方法实现 public void startFragmentAdd(Fragment fragment) { FragmentManager frag ...
- 让多个Fragment 切换时不重新实例化、FragmentTabHost切换Fragment时避免UI重新加载
http://www.tuicool.com/articles/FJ7VBb FragmentTabHost切换Fragment时避免UI重新加载 不过,初次实现时发现有个缺陷,每次FragmentT ...
- 两层Fragment嵌套,外层Fragment切换时内层Fragment不显示内容
尊重他人劳动成果,转载请说明出处:http://blog.csdn.net/bingospunky/article/details/46847269 需求 在搭界面有这么样一个需求:须要两层的Frag ...
- 巧妙实现缺角radiogroup控制多个fragment切换和滑动
在android开发中,用一个radiogroup控制多个fragment切换是十分常见的需求.但是如果fragment是一个ListView,如何保证滑动的时候通过缺角可以看到下面的listview ...
- Android使得Fragment 切换时不重新实例化
以前实现Fragment的切换都是用replace方法实现 public void startFragmentAdd(Fragment fragment) { FragmentManager frag ...
- 让多个Fragment 切换时不重新实例化
转自:http://www.yrom.net/blog/2013/03/10/fragment-switch-not-restart/ 让多个Fragment 切换时不重新实例化 在项目中需要进行Fr ...
随机推荐
- spring.hibernate设置参数的位置问题
1.spring的注解设置在set方法上 2.hibernate的注解设置在get方法上
- Nginx 启用gzip压缩
1. 网页压缩 网页压缩是一项由 WEB 服务器和浏览器之间共同遵守的协议,也就是说 WEB 服务器和浏览器都必须支持该技术,所幸的是现在流行的浏览器都是支持的,包括 IE.FireFox.Opera ...
- 转!!sql server 数据库 索引的原理与应用
索引的概念 索引的用途:我们对数据查询及处理速度已成为衡量应用系统成败的标准,而采用索引来加快数据处理速度通常是最普遍采用的优化方法. 索引是什么:数据库中的索引类似于一本书的目录,在一本书中使用目录 ...
- python语法笔记(六)
1.序列的方法 python中序列包含列表list.元组tuple.字符串str. 可以用于序列(表.元组.字符串)的内建函数: len(s) 返回: 序列中包含元素的个数 min(s) 返回 ...
- git 10.8
git clone xxxx.git生成一个本地的文件夹acd agit checkout -b abcgit checkout mastergit pull然后数据全部由更新 但是是远程的更新 不能 ...
- tif图片编辑利器
http://www.onlinedown.net/soft/99112.htmTIF编辑器 0.4 http://www.zjda07.cn/软件类别:国产软件/图像处理软件大小:1089KB软件授 ...
- Unity3D中目标相对自身的前后左右方位判断
http://blog.csdn.net/cen616899547/article/details/38336185 在做rpg类游戏的过程中,经常遇到要判断周围怪物相对自身的方位 1.判断目标在 ...
- <mvc:annotation-driven />
<mvc:annotation-driven/>相当于注册了DefaultAnnotationHandlerMapping和AnnotationMethodHandlerAdapter两个 ...
- 用ildasm/ilasm修改IL代码
原文地址:http://www.cnblogs.com/dudu/archive/2011/05/17/ildasm_ilasm_il.html 在开发中遇到这样一个场景,需要修改一个dll文件(.N ...
- 20145218 《Java程序设计》第05次实验报告
北京电子科技学院(BESTI)实验报告 课程:Java程序设计 班级:1452 指导教师:娄嘉鹏 实验名称:Java网络编程及安全 一.实验内容 1.掌握Socket程序的编写: 2.掌握密码技术的使 ...