android LayoutInflater的使用

看其继承关系:

public abstract class
LayoutInflater
extends Object
java.lang.Object
   ↳    android.view.LayoutInflater

 

关于其在api中的简介:

在实际开发中LayoutInflater这个类还是非常有用的,它的作用类似于findViewById()。不同点是LayoutInflater是用来找res/layout/下的xml布局文件,并且实例化;而findViewById()是找xml布局文件下的具体widget控件(如Button、TextView等)。 具体作用:

1、对于一个没有被载入或者想要动态载入的界面,都需要使用LayoutInflater.inflate()来载入;

2、对于一个已经载入的界面,就可以使用Activiyt.findViewById()方法来获得其中的界面元素。

 

获得 LayoutInflater 实例的三种方式

1.LayoutInflaterinflater = getLayoutInflater();  //调用Activity的getLayoutInflater()

2.LayoutInflaterlocalinflater =(LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

3. LayoutInflaterinflater = LayoutInflater.from(context); 

 

这三种方式最终本质是都是调用的Context.getSystemService()

注意:

·inflate方法与findViewById 方法不同;

·inflater是用来找res/layout下的xml 布局文件,并且实例化;

·findViewById()是找具体 xml 布局文件中的具体 widget 控件(如:Button、TextView 等)。

 

 

posted @ 2014-04-25 14:04  山林猿人  阅读(128)  评论(0编辑  收藏  举报