当ArrayAdapter中的getView()被调用时

17

当在Android中为ListView创建自定义adapter时,我发现需要创建一个继承ArrayAdapter类并实现getView(..)方法的类。

这一切都没问题,但是我想知道调用方法和执行顺序。也就是说,在代码的哪个地方调用getView()方法?


3个回答

13

9
来自Android文档-
Adapter对象充当AdapterView(如您的ListView)和该视图下面的数据之间的桥梁。 Adapter提供对数据项的访问,并负责为数据集中的每个项目创建一个视图。
因此,每当ListView需要显示特定的数据行时,它通过getView()方法请求相关的适配器提供对应于该位置处的数据的视图。这可能会在屏幕上更新视图时发生(例如在创建/滚动等期间)。
作为应用程序开发人员,只要在适配器中提供了具体的getView()实现,就不必担心在什么时候调用getView()方法。确保方法高效(缩略图等应在后台线程中加载)以获得最佳性能。

你怎么能有胆量告诉提问者不需要担心理解他正在使用的东西是如何工作的呢? - Chris - Jr

0
getView(int position, View view, ViewGroup parent) 

被调用了

List of Objects

使用元素数量的

getItem(int position)

对于我们列表的长度

因此,它被称为次数,直到您的整个列表都已分配布局和来自列表的数据。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接