使用FrameLayout替换Fragment时 不销毁Fragment
2016-07-14 23:11
309 查看
如果使用FragmentManager.beginTransaction().replace().commint().时,被替换的Fragment会被销毁掉,再次启动时,之前的数据就会丢失,如果我们只是想暂时切换到其他Fragment中,之后再返回,就需要用FragmentManager.beginTransaction().add ().commint()添加Fragment,如果已经add过,则将当前显示的Fragment 使用FragmentTransaction.hide()方法隐藏掉,再通过FragmentTransaction.show()方法显示出来即可。
贴代码:
贴代码:
FragmentTransaction ft=fragmentManager.beginTransaction(); public void hideFragment(FragmentTransaction ft){ if (fra_person != null) ft.hide(fra_person); if (fra_map != null) ft.hide(fra_map); } ft.commit();if (fra_map == null) { fra_map = new Fragment_map(); ft.add(R.id.framelayout,fra_map); }else{ ft.show(fra_map); } ft.commit();
相关文章推荐
- C++设计模式实例图解
- Windows下wmic获取计算机硬件信息
- Singleton
- 将UIImage保存到iOS照片库和对应程序沙盒中-b
- 本地套接字
- AFNetWorking的底层原理
- 第十二章 Supporting System
- python学习第五天 List和tuple类型介绍及其List切片
- Codeforces 472C Design Tutorial: Make It Nondeterministic
- iOS使用HealthKit框架实现获取今日步数
- 框架
- Swing的布局管理器
- Android总结随笔
- 小强测试品牌培训班学员成果展示
- 用Android Studio写的查看天气的app(CoolWeather)
- neural-networks-and-deep-learning mnist-loader
- java 支付宝接口
- winform学习窗体动画
- 在linux下安装并配置mysql数据库
- 使用Visual Studio Code开发Asp.Net Core WebApi学习笔记(四)-- Middleware