Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 列表适配器和getView函数说明_Java_Android - Fatal编程技术网

Java 列表适配器和getView函数说明

Java 列表适配器和getView函数说明,java,android,Java,Android,我完全搞不懂列表视图的生命周期。更具体地说,列表适配器具体做什么?它是否只向给定视图提供数据?何时/何地调用getView()函数?这个函数的作用是什么?从仅仅查看代码开始,看起来getView()正在为要显示的视图“分配”数据。我希望能够使用列表视图,而无需记忆,这样做,然后这样做,以便它的工作。我宁愿理解它,这样我才能正确地使用它。请有人帮我理解这一切 还有,如果有人能向我解释。。BaseAdapter和ArrayAdapter之间有什么区别?以及Android附带的任何其他类型的适配器。g

我完全搞不懂列表视图的生命周期。更具体地说,列表适配器具体做什么?它是否只向给定视图提供数据?何时/何地调用
getView()
函数?这个函数的作用是什么?从仅仅查看代码开始,看起来
getView()
正在为要显示的视图“分配”数据。我希望能够使用列表视图,而无需记忆,这样做,然后这样做,以便它的工作。我宁愿理解它,这样我才能正确地使用它。请有人帮我理解这一切

还有,如果有人能向我解释。。BaseAdapter和ArrayAdapter之间有什么区别?以及Android附带的任何其他类型的适配器。

getView()使用给定的索引将数据填充到项目的视图中。作为参数给出的视图可以是预充气视图。如果它不是,你必须自己去改变它。 ArrayAdapter只需在给定视图上调用
setText
,结果是对象的
toString()
,并从数组中获取相应的索引。如果你覆盖它,你可以做更复杂的事情,比如分配一张图片或者填写更多的文本视图


我推荐以下教程:

Hi list adaper为listview提供视图

当用户在此时滚动listview时,将调用getview


getview用于用数据填充视图,因此命名为适配器。

适配器为您执行所有“记住要执行此操作”。如果您通过适配器的方法(例如“add()”)更改列表视图的支持数据结构,它将触发列表视图显示数据新状态所需的所有datachanged和update事件。

据我所知,适配器构造函数由activity实例化,然后在activity上启动getView()方法被调用。{@param position,view,viewGroup}

  • 位置:它是指适配器给定的视图位置。请注意,它与{OnItemClick(AdapterView适配器,视图v,int-position,long-id)}中的位置不同,这里的位置是列表项的位置。{getView()}中的{position}在列表中的特定对象再次显示后发生更改,例如,当您滚动时

  • 视图:此处的视图是希望通过getView()显示的视图。它可以是每一行的特定XML布局。因此,这清楚地表明调用getView来绘制每一行。此视图必须有效。将选择一个或另一个布局(默认为LinearLayout)以保持唯一性

  • viewgroup:正如您所知,正如name所说,它将是@param:view的容器


  • 其他任何一点都值得赞赏。

    因此,在这种情况下<代码>公共视图getView(int position,View convertView,ViewGroup ViewGroup){Task Task=tasks.get(position);[…]}position指的是什么?listView中的position。这是一个索引。