Android getView方法混乱

时间:2014-04-21 10:39:03

标签: java android

我正在为自定义BaseAdapter执行ListView子类。

我想知道ViewGroup父参数是什么?

它是引用列表视图还是要膨胀的XML文件的父文件?

public View getView(int position, View convertView, ViewGroup parent)

谢谢

4 个答案:

答案 0 :(得分:0)

ViewGroup是您View的父级。

说明:

制作xml布局时,将视图放入某个布局(相对,线性等),这是您视图的父级。当他需要知道android调用getView方法时,你所附的View的父级是什么。

getView方法必须返回View列表项。为此,我们创建布局资源R.layout.*.xml。在此方法中,我们必须R.layout.*.xml创建View,填写并发送数据列表。但在创建之前,我们尝试使用convertView,它转到输入方法。它之前已创建View,但目前尚未使用。例如,当您滚动屏幕上的项目列表时,不再需要。 View用于新商品的“隐形”商品。我们只能用数据填充它们。这显着加快了应用程序的速度,因为不需要再次追逐膨胀。

如果这次我们没有给出convertView(null),那么我们创建视图。

答案 1 :(得分:0)

ViewGroup是我们View的父级,这意味着我们的xml视图。 getView方法基本上用于处理我们想要在一行中显示的视图。所以很明显它包含了你的布局的父视图。

答案 2 :(得分:0)

您可能会关注此easily explain list view tutorial with baseAdapter。我希望你能从这个链接中获得帮助。

答案 3 :(得分:0)

getView()方法返回适配器视图中每个项目(ListVew的每一行)的视图。适配器视图中项目的布局格式和相应数据是在getView()方法中设置的。如果getView()每次调用View都会返回一个新Adapter,那将是一场性能噩梦那就是ListView的概念成为特征的地方。但是,convertView会回收未再显示的视图,并通过Adapter将其返回。

要了解{{1}}的工作原理,您可以参考以下内容,

http://www.edureka.in/blog/what-are-adapters-in-android/

http://www.piwai.info/android-adapter-good-practices/