1、具体作用:
2、1对于一个没有被载入或者想要动态载入的界面,都需要使用LayoutInflater.inflate()来载入;
(资料图片仅供参考)
3、2对于一个已经载入的界面,就可以使用Activiyt.findViewById()方法来获得其中的界面元素。
4、获得布局填充器实例的三种方式
5、1.LayoutInflates Inflates=getLayoutInflater(),/调用活动的getLayoutInflates()
6、2.LayoutInflates inflates=layoutinflater . from(context);
7、3.LayoutInflates inflater=(LayoutInflater)context . getsystem service
8、(上下文。LAYOUT _ INFLATER _ SERVICE);
9、结论:所以这三种方式最终本质是都是调用的Context.getSystemService().
10、另外getSystemService()是机器人很重要的一个API,它是活动的一个方法,根据传入的名字来取得对应的对象,然后转换成相应的服务对象。
11、示意代码:
12、LayoutInflates Inflates=(LayoutInflater)getsystem SERVICE(LAYOUT _ INFLATER _ SERVICE);
13、view view=inflater . inflate(r . layout . custom,(view group)findViewById(r . id . test));
14、EditText EditText=(EditText)findViewById(r . id . content);//错误
15、EditText EditText=(EditText)view . findviewbyid(r . id . content);
16、对于上面代码,指定了第二个参数视图组根,当然你也可以设置为零值。
17、注意:
18、膨胀方法与初始化方法不同;
19、膨胀是用来找分辨率/布局下的可扩展标记语言布局文件,并且实例化;
20、findViewById()是找具体可扩展标记语言布局文件中的具体小部件控件(如:按钮/文本视图等)。
本文到此结束,希望对大家有所帮助。