Fragment & Task
来源:互联网 发布:u盘数据恢复后文件沒 编辑:程序博客网 时间:2024/05/17 16:13
1,为了保证 Fragment 的复用,最好不要在 Fragment 中直接操作其他 Fragment,因为这会导致耦合度过高而不
能复用。如果当前 Fragment 需要与其它 Fragment 通信(如包含新闻目录列表的 A 与 详细新闻 B 的通信),可通
过 Host Activity来完成。具体是: 在 A 中定义一个接口 InterfaceA,包含方法 WhenItemClicked(String id); 同时让
Host Activity 实现这个接口,并在这个 WhenItemClicked 方法里更新 B 中的新闻;而在 A 中,在点击列表事件的时
候,只需调用 InterfaceA.WhenItemClicked(listID) 即可。我看到有些项目中,在一个叫 WebService 的类中集中处理
向服务器发送请求,同时定义一个接口,当获取到了数据时,调用这个接口。而实现这些接口的地方,正是各个
Activity。
2,或许应该经常在 Fragment'onPause() 保存数据,becausethe user might not come back (官方解释)
3,对于 FragmentTransaction 如果执行 remove 、addToBackStack、commit,那么这个 Fragment 处于stoped 状态而非Destroyed
4,inflater.inflate( ,container ,false) 这里的为什么设置为FALSE?因为系统会自动把当前这个View 添加到Activity的视图结 构中去,如果是true,就会重复添加。
5,如果系统因为内存不足而回收了 Background Task 中的某个 Activity,那么这个Activity在此 Task 的位置信息还是会保存的。只是当用户 press Back Button,需要 recreate。
A 用manifest 属性指定的有 starndard, singleTop, singleTask, singleInstance。
B 用Intent flag 指定的有
FLAG_ACTIVITY_NEW_TASK
,FLAG_ACTIVITY_CLEAR_TOP
,FLAG_ACTIVITY_SINGLE_TOP
。若同时定义了 A 、B,B 会覆盖 A 的定义。
singleTop,当且仅当正要启动的 Activity 在 BackStack 的栈顶,此时系统会通过 onNewIntent() 来启动这个已经存在的
Activity(不会重新创建 Activity),在其它情况下,还是会跟 standard 模式一样。
- Fragment & Task
- TASK
- Task
- Task
- TASK
- task
- Task
- task
- Task,
- task
- Task
- task
- task
- Task
- Task
- Task
- task
- TASK
- Error opening registry key 'Software\JavaSoft\Java Runtime Environment
- hdu2546 饭卡 01-背包问题
- String s;和String s=null;和String s="a";有什么区别?
- 程序员的奋斗史(三十九)——大学断代史(三)——我和知乎邂逅
- 使用类 友元简介
- Fragment & Task
- 使用Visual Studio 创建可视Web Part部件
- 遍历json对象并获取json对象的长度(不是json数组)
- java.lang.ClassCastException
- [C/C++]使用上下左右控制菜单项
- 葡萄奶酥
- dojo小例子(15)给dojo on的事件处理函数传递自定义参数的两种方法
- 插入排序
- The method Inflate() in android