Fragment切换与Fragment间传值
来源:互联网 发布:手机直播源码教程 编辑:程序博客网 时间:2024/05/21 08:55
关于Fragment的使用本篇不做说明。
一、Fragment切换
关于Fragment切换有两种方式,一种是replace另一种是add。
通常replace是直接替换当前的Fragment,而add是不断进行添加,一般我个人写的时候经常将add方式与show()和hide()两个方法一起使用,这样可以做到一些优化:
replace方式:
getSupportFragmentManager().beginTransaction().replace(R.id.fl, fragments.get(oneOrTwo)).commit();
add方式:
/** * Add方式添加 * * @param oneOrTwo */ private void fragmentAdd(int oneOrTwo) { FragmentManager supportFragmentManager = getSupportFragmentManager(); FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); if (supportFragmentManager.findFragmentByTag(oneOrTwo + "") == null) { ft.add(R.id.fl,fragments.get(oneOrTwo), oneOrTwo + "").commit(); } else { Fragment currFragment = supportFragmentManager.findFragmentByTag(oneOrTwo + ""); Fragment lastFragment = supportFragmentManager.findFragmentByTag(lastFragmentPosition + ""); ft.show(currFragment); ft.hide(lastFragment); ft.commit(); } lastFragmentPosition = oneOrTwo; }
二、Fragment间传值
在此最关键的方法就是onHiddenChanged() ,Fragment的隐藏与显示都会在此方法中进行。
关于Fragment传参有两种,一种是使用setArguments一种是直接在Fragment中写setter与getter方法。若使用的是add、show、hide方式添加,则不能用setArguments,当Fragment是隐藏状态是使用这个方法会报一个异常IllegalStateException。
0 0
- Fragment切换与Fragment间传值
- activity与fragment切换动画
- Activity与Fragment切换动画
- Activity与Fragment切换动画
- activity与fragment切换动画
- Fragment 切换
- Fragment切换
- 切换fragment
- fragment切换
- Fragment切换
- fragment 切换
- Fragment切换
- Fragment切换
- Fragment切换
- Fragment切换
- 切换Fragment
- fragment切换
- Fragment切换
- Struts的数据处理方式
- [BZOJ4449][Neerc2015][分治][最短路]Distance on Triangulation
- 关于CGI的一些认识
- poj1321
- A water problem
- Fragment切换与Fragment间传值
- 【经验】 Java BigInteger类以及其在算法题中的应用
- BZOJ 3224 Tyvj 1728 普通平衡树——treap
- hibernate实现多条件组合的模糊查询
- java实现——2001计算两点间的距离
- Firefox在input标签padding上下边距过大时的bug现象
- MERGE语句用来合并UPDATE和INSERT语句,一张表的大数据操作,要同时进行增删改,提高性能
- 中国剩余定理(非互质)hdu3579 Hello Kiki ====注意刚好全部整除的情况
- Leetcode twosum