如何制作一个个人网站,国家商标网查询入口,互联网公司注册,黑客编程软件参考该博客#xff1a;http://www.cnblogs.com/top5/archive/2012/05/04/2482328.html LayoutInflater是一个抽象类#xff0c;通过调用其实例方法inflate()#xff0c;将res/layout下的xml布局文件进行实例化#xff0c;不同于findvirebyid()是找布局文件下的控件进行实例…参考该博客http://www.cnblogs.com/top5/archive/2012/05/04/2482328.html LayoutInflater是一个抽象类通过调用其实例方法inflate()将res/layout下的xml布局文件进行实例化不同于findvirebyid()是找布局文件下的控件进行实例。 1、对于一个没有被载入或者想要动态载入的界面都需要使用LayoutInflater.inflate()来载入 2、对于一个已经载入的界面就可以使用Activiyt.findViewById()方法来获得其中的界面元素。 LayoutInflater是一个抽象类通过三种方法可以获得其对象。 1. LayoutInflater inflater getLayoutInflater();//调用Activity的getLayoutInflater() 2. LayoutInflater inflater LayoutInflater.from(context); 3. LayoutInflater inflater (LayoutInflater)context.getSystemService (Context.LAYOUT_INFLATER_SERVICE); 三种方法的本质是相同的都是调用的Context.getSystemService()。 另外getSystemService()是Android很重要的一个API它是Activity的一个方法根据传入的NAME来取得对应的Object然后转换成相应的服务对象。 inflate()方法 通过 sdk 的 api 文档可以知道该方法有以下几种过载形式返回值均是 View 对象如下 public View inflate (int resource, ViewGroup root) public View inflate (XmlPullParser parser, ViewGroup root) public View inflate (XmlPullParser parser, ViewGroup root, boolean attachToRoot) public View inflate (int resource, ViewGroup root, boolean attachToRoot) 示意代码 LayoutInflater inflater (LayoutInflater)getSystemService(LAYOUT_INFLATER_SERVICE); View view inflater.inflate(R.layout.custom, (ViewGroup)findViewById(R.id.test)); //EditText editText (EditText)findViewById(R.id.content);// error EditText editText (EditText)view.findViewById(R.id.content); 对于上面代码指定了第二个参数 ViewGroup root当然你也可以设置为 null 值。 注意 ·inflate 方法与 findViewById 方法不同 ·inflater 是用来找 res/layout 下的 xml 布局文件并且实例化 ·findViewById() 是找具体 xml 布局文件中的具体 widget 控件(如:Button、TextView 等)。 转载于:https://www.cnblogs.com/fajieyefu/p/5546786.html