Android类参考---FragmentManager

  次阅读 来源:互联网(转载协议) 2015-09-29 11:02 我要评论(0)

1. 继承关系

java.lang.Object

|____android.app.FragmentManager

2. 类概要

这个类提供了与Activity内部的Fragment对象进行交互的接口。

虽然FragmentManager的API是在HONEYCOMB的版本中被引入的,但是在旧的平台上还有一个通过FragmentActivity类来使用的API版本。

HONEYCOMB:http://developer.android.com/reference/android/os/Build.VERSION_CODES.html#HONEYCOMB

3. 类说明

嵌套(内部)类

interface FragmentManager.BackStackEntry

代表了Fragment回退堆栈的一个项目实体,调用FragmentTransaction.addToBackStack()方法时会创建这个项目实体。

interface FragmentManager.OnBackStackChangedListener

观察回退堆栈变化的接口

常量

public static final int POP_BACK_STACK_INCLUSIVE

针对popBackStack(String, int)和popBackStack(int, int)方法所设置的标记。如果在调用这两个方法时,设置了这个标记,并且已经提供了回退堆栈中项目实体的名称或ID,那么堆栈中所有匹配的项目实体都会被消耗,直到没有匹配的,或到达堆栈的底部为止。

常量值:1(0x00000001)

Public 构造器

FragmentManager()

Public 方法

public abstract void addOnBackStackChanageListener(FragmentManager.OnBackStackChangedListener)

添加一个新的监听器,用于监听Fragment回退堆栈的变化。

public abstract FragmentTransaction beginTransaction()

启动一个跟FragmentManager关联的一系列的与Fragment对象相关的编辑操作。

注意:一个Fragment事务只能在Activity保存其状态期间被创建/被提交。如果在Activity.onSaveInstanceState()方法调用之后,提交事务则会发生错误。这是因为系统框架需要保存当前Fragment对象的状态,并且如果在状态保存之后来改变Fragment,那么改变的结果也会丢失。

public abstract void dump(String prefix, FileDescriptor fd, PrintWriter writer, String[] args)

把FragmentManager的状态打印输出到给定的流中。

参数:

prefix--->在每行文本的前面要打印输出的文本。

fd--->要输出的转存文件的描述。

writer--->给转存操作设置的一个PrintWriter对象。

args--->给转存请求提供一组额外的参数。

public static void enableDebugLogging(boolean enabled)

控制是否打开框架内Fragment管理器的调试日志(log)。如果开启调试日志,那么就会在Logcat中看到框架执行Fragment操作的日志信息。

public abstract boolean executePendingTransactions()

在用FragmentTransaction.commit()方法提交FragmentTransaction对象后,会在进程的主线程中,用异步的方式来执行。如果想要立即执行这个等待中的操作,就要调用这个方法(只能在主线程中调用)。要注意的是,所有的回调和相关的行为都会在这个调用中被执行完成,因此要仔细确认这个方法的调用位置。

返回值:如果等待中的事务被执行,那么就会返回true。

public abstract Fragment findFragmentById(int id)

这个方法用于查找由给定的id所标识的那个Fragment对象。这个id既可以是源自布局填充时的XML,也可以是添加事务时的容器ID。这个方法首先会搜索被添加到当前管理的Activity中的Fragment对象,如果没有找到,它会搜索当前回退堆栈中所有的Fragment对象,以便找到跟这个ID匹配的Fragment对象。

返回值:如果找到,则返回一个Fragment对象,否则返回null。

public abstract Fragment findFragmentByTag(String tag)

本站部分文章来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • Oculus公布原型机,大幅度提升可视角,能实现140°的视场水平

    Oculus公布原型机,大幅度提升可视角,能实现140°的视场水平

  • 2018深圳国际人工智能展览会 2018 shenzhen International Artif

    2018深圳国际人工智能展览会 2018 shenzhen International Artif

  • teamLab创始人猪子寿之: 抛去衣食住行,我还剩下什么?

    teamLab创始人猪子寿之: 抛去衣食住行,我还剩下什么?

  • Michael I. Jordan带你解读百万奖金ATEC蚂蚁人工智能大赛

    Michael I. Jordan带你解读百万奖金ATEC蚂蚁人工智能大赛

网友点评网友点评
阅读推荐阅读推荐

据外媒报道,STEER打造了首款完全自动驾驶停车技术,旨在使常规车辆转变为无人驾驶车辆。STEER的首款技术应用是4级自动驾驶及网络安全停车...

近日,美国软性机器抓手制造商 Soft Robotics 宣布,获得 2000 万美元的融资,本轮投资者包括 Scale Venture Partners,Calibrate Ventures...

据外媒报道,加州车管局发布了《2017自动驾驶脱离报告(California Autonomous Vehicle Disengagement Reports)》,其中谈及了脱离的具体...

用人机语音交互,来解决智能家居适老的问题;通过家庭门禁与安防套件、空气净化套件、可燃气体与有害气体监控套件等相互联动,在不同生活情...