Android getLayoutInflater()。inflate详细说明

时间:2014-06-07 16:42:13

标签: java android

我可能知道

的含义
 public View getView(int position, View view, ViewGroup parent){
            if (view ==null)
                view = getLayoutInflater().inflate(R.layout.listview_item, parent, false);
        }
  • 为什么它包含3个参数,wht是那三个参数的含义
  • 布局inflater它必须与视图一起工作?为什么呢?
任何人都可以向我解释,谢谢!

3 个答案:

答案 0 :(得分:5)

LayoutInflater有两个相关的inflate重载:

public View inflate (int resource, ViewGroup root, boolean attachToRoot)
public View inflate (int resource, ViewGroup root)

第二个参数是您要引用的视图,作为您要膨胀的视图的根目录。如果attachToRoot为true,它将成为膨胀视图的父视图。如果没有,它只是帮助创建正确的布局。

如果您使用第二个重载,则假定attachToRoot为true,如果您提供(可选)根,则它将自动作为父视图附加到膨胀视图。

答案 1 :(得分:1)

文档有什么问题? http://developer.android.com/reference/android/view/LayoutInflater.html#inflate(int,android.view.ViewGroup,boolean)

答案 2 :(得分:1)

方法膨胀的官方定义是这样的:

inflate(int resource,ViewGroup root,boolean attachToRoot)

引用我们获得以下概念:

  

资源:要加载的XML布局资源的ID(例如,R.layout.main_page)

     

root:可选视图是生成的层次结构的父级(如果   attachToRoot为true),或者只是一个提供一组的对象   返回层次结构的根的LayoutParams值(如果   attachToRoot为false。)

     

attachToRoot:是否应将膨胀的层次结构附加到根参数?如果为false,则仅使用root   为根视图创建正确的LayoutParams子类   XML。

有关详细信息http://developer.android.com/reference/android/view/LayoutInflater.html#inflate(int,android.view.ViewGroup,boolean)