Fragment的常用函数:

一、Fragment对象

1.void setArguments(Bundle args); 这个函数为Fragment提供构造参数(也就是数据),参数以Bundle类型封装。因为官方不建议把数据的传递提供写在构造函数当中,因此提供了这个方法。

2.Bundle getArguments(); 通过这个函数可以获取到传递给Fragment的参数。可以再Fragment当中直接调用,获取传递的数据。

3.FragmentActivity  getActivity(); 返回和当前Fragment关联的FragmentAcitivty对象。

4.FragmentManager  getChildFragmentManager(); 返回内嵌在当前Fragment当中的FragmentManager,用于管理内嵌在当前的Fragment的Fragments。

5.FragmentManager  getFragmentManager(); 返回和当前Fragment平行的FragmentManager,用于管理和当前Fragment平行的Fragments。

6.Fragment getParentFragment (); 返回包含当前Fragment的父Fragment。

7.void  onActivityCreated(Bundle savedInstanceState); 当Fragment绑定的Activity创建的时候调用。

8.void  onAttach(Activity activity); 当Fragment绑定到Activity的时候调用,这是Fragment生命周期第一次调用的函数。

9.void  onDestroy(); 当Fragment不再使用的时候调用。

10.void onDestroyView(); 当视图和Fragment分离的时候调用。

11.void onInfate(Activity activity, AttributeSet attrs, Bundle savedInstanceState); 有同学可能注意到,为什么不会调用这个函数呢?这个函数只有当你的Fragment写在XML布局文件中显示的时候,该函数才会调用,并且这个函数调用在 onAttach之前。

二、FragmentManager对象

1.void  addOnBackStackChangedListener(FragmentManager.OnBackStackChangedListener listener); 为Fragment的后台堆栈添加一个监听器,用于监听堆栈的改变情况。

2.FragmentTransaction  beginTransaction(); 开启一个事务,用于Fragment的一系列处理。

3.Fragment  findFragmentById(int id); 通过Fragment的ID找到Fragment,这个ID可以是XML中的也可以是通过事务动态添加进去的。

4.Fragment  findFragmentByTag(String tag); 通过Fragment的Tag找到Fragment,这个Tag可以是XML中的也可以是通过事务动态添加进去的。

5.FragmentManager.BackStackEntry  getBackStackEntryAt(int index); 根据序号返回后台堆栈中的BackStackEntry对象,最底的序号为0。

6.int  getBackStackEntryCount(); 返回堆栈的总数目。

7.void  popBackStack(); 弹出堆栈中的一个并且显示,也就是代码模拟按下返回键的操作。

8.void  popBackStack(String name, int flags); 针对第一个参数,如果name为null,那么只有顶部的状态被弹出;如果name不为null,并且找到了这个name所指向的Fragment对象; 根据flags的值,如果是flag=0,那么将会弹出该状态以上的所有状态;如果flag=POP_BACK_STACK_INCLUSIVE,那么将 会弹出该状态(包括该状态)以上的所有状态。

9.void  popBackStack(int id, int flags); 针对第一个参数,如果该id找不到,那么什么都不做;否则根据flags的值,如果是flag=0,那么将会弹出该状态以上的所有状态;如果 flag=POP_BACK_STACK_INCLUSIVE,那么将会弹出该状态(包括该状态)以上的所有状态。

10. boolean popBackStackImmediate (int id, int flags); 和popBackStack(int id, int flags)类似,不同的是这个事立马弹出,和executePendingTransactions()方法之后的效果一样。如果有东西弹出,返回为 true;否则就是false。

11. boolean  popBackStackImmediate  (String name, int flags); 和popBackStack(String name, int flags)类似,不同的是这个事立马弹出,和executePendingTransactions()方法之后的效果一样。如果有东西弹出,返回为 true;否则就是false。

12. boolean popBackStackImmediate(); 与popBackStack()方法类似,其他参考上面两个。

13. void  removeOnBackStackChangedListener  (FragmentManager.OnBackStackChangedListener listener); 移除监听堆栈的监听器。

以上就是我认为Fragment开发当中很重要的函数,如果还有不懂得可以参考官方API: http://www.android-doc.com/reference/android/support/v4/app/FragmentManager.html

通常来说,创建Fragment通常需要实现三个方法:

onCreate():系统创建Fragment对象后回调该方法,实现代码中只初始化想要在Fragment中保持的必要组件,当fragment被暂停或停止后可以恢复。

onCreateView():当Fragment绘制界面组件时会回调该方法。该方法必须返回一个View,该View也就是该Fragment所显示的View。

onPause():当用户离开该Fragment时将会回调该方法。

最新文章

  1. 给你推荐10款优秀的 HTML5 动画工具
  2. Distance Between Points
  3. jquery layer弹出层插件
  4. POJ Farm Tour
  5. 一步一步教你使用Git
  6. error LNK2019: 无法解析的外部符号 "public:
  7. windows下使用命令行给通过genymotion创建的虚拟机配制IP地址
  8. (python)leetcode刷题笔记03 Longest Substring Without Repeating Characters
  9. linux /proc/sys/vm/中各个文件含义
  10. ORM创建多表以及多表的增删改查
  11. 【转载】Asp.Net中使用基于jQuery的javascript前台模版引擎JTemplate
  12. 【转】微信公众号h5网页被嵌入广告 不知道什么原因
  13. RK3288 wifi模块打开或关闭5G信号
  14. 快捷键&小技巧
  15. 《关于oracle数据库的勒索病毒的预警》
  16. springboot activiti 整合项目框架源码 shiro 安全框架 druid 数据库连接池
  17. MongoDB基本方法
  18. Sybase中的load table的用法
  19. StringUtils.hasText()
  20. 【BZOJ】3412: [Usaco2009 Dec]Music Notes乐谱(二分)

热门文章

  1. geatpy - 遗传和进化算法相关算子的库函数(python)
  2. 【App性能】:TraceView分析法
  3. 初识Flask框架,以及Flask中的模板语言jinjia2和Flask内置的Session
  4. 20190417 CentOS 7下安装ActiveMQ
  5. Linux - iptables firewalld
  6. Java:对象的强、软、弱和虚引用的区别
  7. Git学习系列之Git基本操作拉取项目(图文详解)
  8. 安卓加固之so文件加固
  9. EF4.4增删改查实例
  10. [作业] Python入门基础---九九乘法表