Fragment
来源:互联网 发布:sql语言是什么语言 编辑:程序博客网 时间:2024/06/12 19:42
<pre name="code" class="java">FragmentManager fm = getFragmentManager();FragmentTransaction ft = fm.beginTransaction();fa = new FragmentA();ft.add(R.id.fl, fa, "aaa");ft.commit();
FragmentManager fm = getFragmentManager();FragmentTransaction ft = fm.beginTransaction();fa = new FragmentA();ft.replace(R.id.fl, fa, "aaa");ft.commit();
add是添加Fragment 到 ViewGroup 中, 可以多次添加,会重叠; 与hide 结合使用,Fragment 方法不用从头走一遍;
(replace方法相当于remove, add结合使用; remove从当前manager中移除,则前一个(没加入栈的前提下)不能通过 findFragmentByTag找到;
此时fragment对象依然有效,内部成员变量的值依然保存在内存中; 要注意:当重新走一遍生命周期 成员变量的值的问题) ;
add 和 hide ,当activity销毁重新创建出现重影问题: 由于 activity 的 onSaveInstanceSate 中调用了父类的方法, 说明fragment也要重新创建;
重新创建时 oncreate 通过 bundle 传递 了 Fragment对象; 因此 一般 saveInstance==null 才创建 fragment对象,避免内存中两个一样
的Fragment对象,造成重影; 另外, 成员变量的引用 可以通过findFragmentByTag获得内存中的fragment对象; 注意: fragment也
可通过 onSaveInstanceState保存状态,以便恢复用;
另外 加上 addToBackStack后, findFragmentByTag 总能找到它;
///
addToBackState(String tag) ;
tag用于标记一次事务;
一次事务能提交多个Fragment到回退栈;
当出栈时,一次事务的 fragment都会出栈;
此外看看:
http://www.jianshu.com/p/d9143a92ad94
0 0
- Fragment
- Fragment
- fragment
- Fragment
- Fragment
- Fragment
- Fragment
- fragment
- fragment
- Fragment
- Fragment
- fragment
- Fragment
- Fragment
- Fragment
- Fragment
- Fragment
- fragment
- 取消弹出信息:Are you sure you want to continue connecting
- Android之使用JavaMail发送邮件
- 知识点总结
- ImageOptions
- 魔术方法
- Fragment
- Android开发之发送邮件功能的实现(源代码分享)
- php绑定数据修改
- 1039. 到底买不买(20) PAT 乙级&&1092. To Buy or Not to Buy (20)PAT甲级
- JDWP Unable to get JNI 1.2 environment
- 检查校准网址前缀
- Eclipse的Servers视图中无法添加Tomcat6/Tomcat7
- Hibernate3主键生成策略
- stat函数讲解(转)