我正在学习如何在Android Studio中创建ListView。我查看了很多ListView示例,并且示例中有一部分我不明白为什么使用它们。以下代码行包括我的意思:
View rowView = inflater.inflate(R.layout.second_layout, parent, false//the function of "parent, false"?);
View itemView = inflater.inflate(R.layout.listview_item, null, true//the function of "null, true"?);
什么是“parent,true”和“null,true”用于?
感谢任何帮助
答案 0 :(得分:2)
样本中的第二个参数(parent
或null
)表示根视图的最终父级是从布局文件中膨胀的。大多数情况下,这是为了帮助RelativeLayout
正确解释其布局规则。
第三个参数(true
或false
)指示是否应该将膨胀的视图作为指定父级的子级添加到(true
)或不是false
)。
不应该使用你的第二个例子,因为没有父项可以添加膨胀的视图,所以true
在这里没有任何意义。
如果您使用的是inflate()
,则第一个表单是几乎所有时间都会使用的表单。如果您知道父母,请提供。通常情况下,您会传递false
作为第三个参数,因为其他内容(ListView
,RecyclerView
,FragmentManager
等)将确定膨胀的孩子何时附加到其中父节点。