Android | Fragement的onCreateView

来源:互联网 发布:聚享游源码 编辑:程序博客网 时间:2024/05/19 16:23

fragement的视图并没有在Fragment.onCreate(...)方法中生成。虽然在onCreate中配置了Fragement的实例,但创建和配置fragement视图是fragement.onCreateView(...)完成的。

即:public View onCreateView(LayoutInflater inflater , ViewGroup container , Bundle savedInstanceState)

该方法实例化fragement视图的布局,然后将实例化的View返回给托管activity。LayoutInflater及ViewGroup是实例化布局的必要参数。Bundle用来存储恢复数据,可供方法从保存状态下重建视图。

@OverridePublic View onCreateView(LayoutInflater inflater,ViewGroup container,Bundle savedInstanceState){View v = inflater.inflater(R.layout.fragment,container,false);return v;}


在onCreateView(...)方法中,fragement的视图是直接通过调用LayoutInflater.inflatte(...)方法并传入布局的资源ID生成的。

第二个参数是视图的父视图,我们通常需要父视图来正确配置组件。

第三个参数告知布局生成器是否将生成的视图添加给父视图。这里,我们传入false,因为要将以activity代码的方式添加视图。


而,获取fragement中的组件并设置监听时,可以在onCreateView(...)方法,使用LayoutInflater.inflatte(...)方法返回的View对象v。

v.findViewById(int)  , 获得组件对象。

再设置监听事件。


原创粉丝点击