【问题标题】:How does getcount() in array adapter return values without returing array size explicitly?数组适配器中的 get count() 如何在不显式返回数组大小的情况下返回值?
【发布时间】:2020-02-18 08:22:53
【问题描述】:

这个问题可能听起来很愚蠢,但我忍不住在这里问。

我知道在数组适配器中,getcount() 方法用于返回要在列表中显示的元素数。我也知道我们需要覆盖它并返回数组的大小或要在布局中显示的列表数。

在许多在线博客中,我看到 getcount() 方法没有被覆盖,但仍然会显示列表,当我尝试以相同的方式进行操作时,除非我覆盖 getcount(),否则不会显示任何列表.

所以我的问题是

1) 真的有必要重写显示列表的方法吗? getcount 方法如何知道要显示多少个列表而不像在许多在线博客中那样覆盖它。

2) 当不需要覆盖 getcount() 并仍按预期获得视图时。

我只是在学习,希望你能理解。谢谢

【问题讨论】:

  • 谢谢,但是是否有可能在不覆盖 getcount() 的情况下获得视图。因为在某些在线博客中,他们没有覆盖并且仍然获得列表数据。
  • 不要混淆 ArrayAdapter、BaseAdapter、ListAdapter。在 ListAdapter 中,您必须自己做所有事情。 ArrayAdapter 接受一个数组并为您做所有事情。

标签: android listview android-arrayadapter custom-adapter


【解决方案1】:
  1. 在适配器内部(不是列表本身) - 是的,您必须重写此方法并返回项目数(例如,直接来自 list.size())
  2. 显示这些“许多在线博客链接”,将验证。一些适配器(如基本ArrayAdapter)可能具有自动计数项,特别是当它们在List 的构造函数中传递时 - 此类是众所周知的集合,因此为这种常见用法准备了适配器,但如果你有@ 987654324@由自己的分辨率填充,然后您必须扩展适配器并自行处理计数
  3. 显示一些代码...总是

【讨论】:

  • 如你所问,当 getcount() 未被覆盖时,下面给出了一个此类博客的链接link
  • 链接下的适配器是ArrayAdapter,它以List为参数,并“自动”绕过getCount()list.size()
猜你喜欢
  • 2019-07-24
  • 1970-01-01
  • 2013-05-29
  • 2012-04-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多