fragmentManager中的回退栈
2015-07-13 16:09
190 查看
下部tab标签,实现fragment页面切换。
遇到的问题:
通过FragmentTransaction的replace方法会导致,每次都会重新调用fragment的onCreateView()方法,浪费时间。
解决方法:
通过FragmentTransaction的hide和show方法来实现fragment的显示和隐藏,这样就不会重复调用onCreateView函数了。
FragmentTransactioin 可以用来添加,删除fragment,也可以控制fragment的显示和隐藏。
这是如果调用addToBackStack(null),此时的状态就会被保存在回退栈,按返回键的时候就会显示出栈顶的
getSupportFragmentManager().popBackStack() 这个方法可以让栈顶的fragment出栈。
只有在程序运行时被动态添加的fragment才会被添加到后退栈。
getSupportFragmentManager().beginTransaction()
.add(R.id.fragment_container, newFragment,"testa")
.addToBackStack(null)
.commit();
程序跑起来之后,通过这个方法后退栈数才会加一,如果在代码中一口气添加多个,再运行程序,getSupportFragmentManager().getBackStackEntryCount()得到的后退栈数值为零。
相关文章推荐
- 图片压缩。大小压缩
- 黑马程序员--java基础学习笔记7
- 第三十三讲|三种循环
- java
- delphi 常用属性+方法+事件+代码+函数
- 判断ie6低版本提示代码
- [SCOI2009][BZOJ1296] 粉刷匠
- mysql半同步复制
- mysql半同步复制
- js中var用与不用的区别
- 问题-Delphi控件选择卡自动选择与滚动方法
- Enumerate枚举
- 远程连接自己的Ubuntu笔记本
- centos 6.5卸载Mysql
- [leetcode]Binary Tree Level Order Traversal II
- CA证书应用二:制作带数字签名的PDF文档
- PropertyPlaceholderConfigurer的用法
- cell 动画效果之一
- php比较两个字符串长度的方法
- HDU 4248 (DP + 组合数)