Android开发之Fragment的加载方式
来源:互联网 发布:飞利浦呼吸机读卡软件 编辑:程序博客网 时间:2024/05/01 01:01
Android开发之Fragment的加载方式
1.利用replace
2.利用show、hide
3.回退栈
1.利用replace
频繁地replace Fragment来切换,会不断创建新实例,销毁旧的,浪费资源,无法重用。
在onCreate 里面初始化一个fragmentOne
FragmentManager fragmentManager = getSupportFragmentManager(); FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); fragmentTransaction.add(R.id.id_content,fragmentOne).show(fragmentOne).commit();
需要切换fragmentTwo的时候
FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); ft.replace(R.id.id_content, fragmentTwo); ft.commit();
2.利用show、hide
如果Fragment需要重用或者不断切换,可以使用该方法提高性能。
if (!fragment.isAdded()) //判断有没有加载过{ getSupportFragmentManager().beginTransaction().hide(temp).add(R.id.id_content, fragment).commit();}else{ getSupportFragmentManager().beginTransaction().hide(temp).show(fragment).commit();}
3.回退栈
像Activity一样通过栈的方式来管理Fragment,和replace相比 增加了栈的管理
fragmentOne 转 FragmentThree FragmentThree 返回fragmentOne 实现
fragmentOne跳转:
FragmentThree fragment = new FragmentThree(); FragmentManager fragmentManager = getActivity().getSupportFragmentManager(); FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); fragmentTransaction.replace(R.id.id_content,fragment); //将当前的事务添加到了回退栈 fragmentTransaction.addToBackStack(null); fragmentTransaction.commit();
FragmentThree返回上一层:
FragmentManager fragmentManager = getActivity().getSupportFragmentManager(); fragmentManager.popBackStack();
案例地址
AndroidLearnAgain
com.mangues.fragment 包下
0 0
- Android开发之Fragment的加载方式
- Android开发之Fragment几种加载方式的优化和对比
- Android开发之Fragment懒加载技术
- Android开发技巧-Fragment的懒加载
- Android之Fragment的切换不对Fragment进行重新加载
- Android之Fragment的切换不对Fragment进行重新加载
- Fragment的Tab加载方式
- 【Android进阶篇】Fragment的两种加载方式
- Xamarin Android Fragment的两种加载方式
- Android——Fragment(碎片)的静态加载方式....
- Android——Fragment(碎片)的动态加载方式....
- Android开发之Viewpager+Fragment实现懒加载
- Android之Fragment静态加载
- Android之Fragment懒加载
- Android之Fragment静态加载
- Android之Fragment懒加载
- Android开发之Fragment
- android开发之Fragment
- Go语言的beego框架中的orm中的Read函数使用
- ARM SWI软中断
- 框架 day75 涛涛商城项目easyUI异步tree,图片上传(nginx),KindEditor使用,商品添加
- 通过HTML5 网页代码获取设备Sensor值
- arttemplate+ajax 转 vue
- Android开发之Fragment的加载方式
- eclipce创建maven项目
- EM-LPC1768开发板原理图
- Spring(四)基于XML装配bean(实例化方式)
- python爬虫简单的抓页面图片并保存到本地
- View滑动冲突处理方法(外部拦截法、内部拦截法)
- overridePendingTransition函数
- http://www.mat.univie.ac.at/~neum/glopt.html
- hdu 1158 Employment Planning