Android全面解析---Fragment(1)显示和基本运用

本文详细解析Android中的Fragment,包括其生命周期、静态与动态创建及UI绑定。重点介绍了OnCreateView、OnCreate和OnPause等关键方法,以及Fragment如何与XML布局结合。动态绑定Fragment涉及在Activity中指定ViewGroup并使用代码进行添加。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Fragment是一个主要用来重组UI。支持静态和动态。在Android.app.Fragment包中,一些其他的比较偏的运用就可以自己看android development

1.Fragment的生命周期。参数没有写完整,具体的重载可以使用eclipse中的重载快捷方法。

生成顺序。

1.OnAttach() . 在和Activity关联的时候调用。

2.OnCreate() . 做一些其他的初始化工作。构造。但是数据在构造函数中就有了。这个是只会调用一次的函数。

3.OnCreateView() . 这个是必须要重写的,作用是使用基本的UI布局来填充自己。一般是使用函数inflate(id , container , false) ; 

4.OnStart() . 调用了这个说明现在fragment已经是可见的了。 基于Activity

5.OnResume() . 基于Activity

销毁顺序

对于相反就是了。

2.Fragment子类的构建。

对于Fragment,他有一些方法是需要重写的。重要的就是OnCreateView和OnCreate和OnPause。主要是Onpause要实现数据的保留。

3.Fragment的静态创建和UI绑定现实。

这个很多文档都说的不清楚,自己找了半天,现在终于摸索出来了。

首先了解

	onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState);
	其中的inflater是一个用来查找的查找器。可以使用这个得到需要的UI的id。
	container是根节点,就是要引入这个fragment的UI的根节点。就是一个ViewGroup和子类。
	最后的是保存的值
那么这个UI到底是啥呢。其实UI就是我们的布局。一个layout就是一个UI。每一个布局都是一个/res/layout/filename.xml

那么就好办了,只要自己生成一个文件,改名xxx.xml,然后可以使用定义布局的方法定义它,最后把fragment和这个UI在onCreateView中绑定就可以可。

绑定的 函数

	inflater.inflate(R.layout.my_fragment_ui, container , false) ;///其中的R.layout后面的名字就是你的文件名,这个是系统默认的。
这样,就可以显示这个flagment了。同时fragmeng也要在Activity的布局中出现。

最后说明一下,如果是静态的话,就会在程序开始的时候就初始化,分配资源。并且不可以方便的动态改变在程序中的位置。

4.Fragment的动态实现和绑定。

如果要使用fragment的动态实现,就是在运用的过程中随时改变,需要之下的步骤。

在Activity中定一个ViewGroup也可以是子类layout,作为fragment绑定的位置。之后如果绑定到这个layout的id,那么就会把fragment放到这个layout中,并且重新计算布局。

在需要绑定的地方使用代码:

	MyFragment my = new MyFragment() ; 
    	my.setType(MyFragment.FRAG_DETAIL);
    	android.app.FragmentTransaction ft = getFragmentManager().beginTransaction() ;
    	ft.add(R.id.detail_fragment, my) ; 
    	ft.commit() ; 
注意使用之后,会向layout中放置你的fragment。如果执行多次,就会防止多个。同时注意一点,ft,replace或者是ft.remove都不会回收这个fragment(目前不知道为啥,但是经过代码测试结果是这样的),但是会调用onPause所以最好不要在触发条件中new Fragment。容易造成冗余。


。。。今天很晚了,就这样吧,大连太冷了。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值