首页 > 代码库 > Android Fragment
Android Fragment
- Fragment类:Android 3.0引入,代表Activity的子模块,有自己的生命周期,但也受Activity生命周期的控制,接受自己的输入事件。当Activity处于活动状态时,程序员可以通过方法独立操作Fragment,对于大多数Fragment会重写下面几个方法:
- onAttach:当Fragment被添加到Activity时被调用,该方法只会被调用一次
- onCreate:初始化view之外的对象,只会调用一次,在onAttach和onCreateView之间调用
- onCreateView:返回View作为Fragment要显示的组件
- onPause:离开Fragment时被调用
- Fragment有如下特征
- Fragment可以调用getActivity获取它所在的Activity,Activity可以调用FragmentManager的findFragmentById或者findFragmentByTag方法获取Fragment对象,在Activity的运行过程中,可以调用FragmentTransaction的add(),remove(),replace()动态的添加删除或者替换Fragment
- 一个Activity可以同时组合多个Fragment,一个Fragment可以被多个Activity复用
- Activity中添加Fragment的方式:
- 布局文件中使用<fragment android:name="fragment的实现类名">
- 代码中通过FragmentTransaction对象的add()方法
- Fragment与Activity之间的通信
- 在Activity中创建Bundle包,然后调用Fragment.setArguments方法即可把数据发给Fragment,Fragment中可以调用getArguments方法获取
- Fragment向Activity传送数据,首先在Fragment中定义一个内部接口,让Activity实现该接口,这样Fragment中就可以回调Activity的方法把数据传给Activity
- fragment和activity生命周期最重要的不同之处是它们如何存储在各自的back stack中。
Activity停止时,是存在一个由系统维护的back stack中,但是当fragment停止(被remove)时,需要程序员显示地调用addToBackStack() ,并且fragment是存在一个由宿主activity掌管的back stack中。
Android Fragment
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。