Android Fragment 详解

     史上关于Fragment最全参考资料:http://www.apkbus.com/forum.php?mod=viewthread&tid=245035&extra=&_dsign=52ff014a

Android 3.0引入Fragment的初衷是为了适应大屏幕的平板电脑,由于平板电脑的屏幕比手机屏幕大,因此可以容纳更多的UI组件,且这些UI组件之间存在交互关系,Android运行在各种各样的设备中,有小屏幕的手机,超大屏的平板甚至电视。针对屏幕尺寸的差距,很多情况下,都是先针对手机开发一套App,然后拷贝一份,修改布局以适应平板神马超级大屏的。难道无法做到一个App可以同时适应手机和平板么,当然了,必须有啊。Fragment的出现就是为了解决这样的问题。你可以把Fragment当成Activity的一个界面的一个组成部分,甚至Activity的界面可以完全有不同的Fragment组成,更帅气的是Fragment拥有自己的生命周期和接收、处理用户的事件,这样就不必在Activity写一堆控件的事件处理的代码了。更为重要的是,你可以动态的添加、替换和移除某个Fragment。

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

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

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

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

Fragment与Activity通信

将一个Fragment添加到Activiy中通常有两种方法:

1.在布局文件中使用<frgment.../>元素添加Fragment,<fragment.../>元素的android:name属性指定Fragment的实现类,android:id,android:tag属性都可以用来标示Fragment,接下来Activity可以通过FindFragmentById()或者是FindFragmentByTag()获取该Fragment。

2.在java代码中通过FragmentTransaction对象的add()方法来添加Fragment.

Fragment可以获取他所在的Activity:调用Fragment的getActivity()方法可返回他所在的Activity

Activity获取它所包含的Fragmnet:调用Activity关联的FragmentManager的findFragmentByID(int id)或findFragmentByTag(String TAG)方法即可获取指定的Fragment.

Fragment与Activity传递数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值