android

时间:2016-07-06 12:18:33

标签: android syntax android-adapter

模型一:

private Context mContext;
public View getView(final int position, View convertView, ViewGroup parent) {
    LayoutInflater inflater = (LayoutInflater) mContext
            .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    convertView = inflater.inflate("layout name",parent, false); 
} 

模型二:

private Context mContext;
public View getView(final int position, View convertView, ViewGroup parent) {
    LayoutInflater inflater = (LayoutInflater) mContext
            .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    convertView = inflater.inflate("layout name", null); 
}

两个片段之间的区别:

convertView = inflater.inflate("layout name" , null);

convertView = inflater.inflate("layout name", parent, false);

2 个答案:

答案 0 :(得分:2)

不同之处在于,您可以为膨胀布局指定父元素,并可以控制是否应将膨胀布局附加到父级。您可以找到LayoutInflaters here的文档。

顺便说一下。您可以使用更易读的语法,如下所示:

final View viewToAdd = LayoutInflater.from(this).inflate(layoutId, null);

答案 1 :(得分:2)

用2个婴儿车充气inflate(int resource, ViewGroup root)

用3个婴儿车充气inflate(int resource, ViewGroup root, boolean attachToRoot)

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

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

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

See Android Docs.