Fragment 简述(一)

Fragment生命周期

Android3.0引入一个新的核心类Fragment

声明周期

fragment生命周期

  1. onInflate()回调

如果碎片是由正在扩充的布局内的<Fragment>标记定义的(通常是在activity调用setContentView()来设置主要布局),碎片将调用自己的onInflate()回调。这过程传入一个AttributeSet(包含来自<fragment>标记的特性)和一个保存的包。如果重新创建碎片,并且之前在onSaveInstanceState()中保存了某种状态,此包将包含保存的状态值。onInflate()会保存他们提供以后使用。在碎片生命的这一阶段,实际对用户界面执行任何操作都为时尚早,它并未与a关联。

2.onAttach()回调

在碎片与其activity关联以后调用。如果需要使用activity引用,在这里可以得到它。这里可以有两个操作:(1)确定即将结束的活动信息。(2)作为其他操作的上下文。 需要注意一点,fragment类有个getActivity()方法,它在需要时返回所附加到的活动,在整个生命周期中,初始化数据包从碎片的getArguments()方法中活得,但是一旦将碎片附加到activity后,将无法再次调用setArguments()。

3.onCreate()回调

它类似于activity的onCreate(),但需要注意的是不能将依赖activity的层次视图代码放在这里。这个阶段虽然可能与其activity关联,但是未活得activity的onCreate()已完成的通知。此回调获取传入的包,同事它会尽可能早的创建一个后台线程来获取此碎片将需要的数据。碎片代码在Ui线程上运行。

4.onCreageView()回调

初始化Ui操作在这里执行。传入一个回调的参数,包括LayoutInflater(可用于扩展次碎片的布局)、一个ViewGroup父元素、以及保存的状态包。这里一定要注意,不需要讲视图层次结构附加到传入的ViewGroup父元素中,该关联会自动完成。如果父容器返回的值为null将一位这该碎片不可见。

public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
   if(container==null)
       return  null;
}

5.onActivityCreate()回调

此阶段快到与activity交互的时刻了。它会在activity的onCreate()调用完成后调用,视图已经准备好并且可用,这是对用户界面执行最后调用调整的地方。如果此activity和它的碎片从保存状态重新创建的,此回调尤其重要,也可以在这里确保此activity的其他碎片已福建到你的activity。

6.onStart()回调

用户已经可以看到碎片,但是还未与用户交互。此回调与activit的onStart()相绑定,可以将处理逻辑放在此阶段中。

7.onResume()回调

这是与用户交互之前最后一个回调,同样与activity的onResume()相绑定。

8.onPause()回调

是碎片上第一个撤销回调,与activity的onPause()想绑定。

9.onSaveInstanceState()回调

与activity类似,保存状态以备将来重新建立。随时可以再onDestroy()发生之前调用

10.onStop()回调

第二个撤销回调,与activity的onStop()想绑定。

11.onDestroyView()回调

碎片即将结束或被保存。

12.onDestroy()回调

不再使用碎片调用,但是依然附件在activity中,只是不执行。

13.onDetach()回调

生命周期最后一个回调。调用后,碎片就不会再与其activity想绑定,不会拥有视图,所有资源也释放。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值