【问题标题】:Why does a ListView need an adapter assigned to it为什么 ListView 需要分配给它的适配器
【发布时间】:2014-10-12 10:33:41
【问题描述】:

我知道列表视图需要一个适配器,但是为什么它的目的是什么?它可以在没有适配器的情况下显示列表吗?

【问题讨论】:

  • 您会在哪里提供列表视图以其他方式显示的项目和视图?
  • 如果我只想显示列表,我可以不使用简单的字符串数组吗?

标签: java android


【解决方案1】:

适配器管理数据模型并使其适应列表视图中的各个行。

数据的过滤和排序由adapter处理。

如果数据已更改或有新数据可用,则会调用适配器上的 notifyDataSetChanged() 方法。

如果数据不再可用,则调用notifyDataSetInvalidated() 方法。

另见What's the role of adapters in Android?

【讨论】:

    【解决方案2】:

    来自docs

    Adapter 对象充当AdapterView 和 该视图的基础数据。 Adapter 提供对数据的访问 项目。 Adapter 还负责为每个项目制作一个View 在数据集中。

    ListView 需要知道要显示哪些项目,并且需要为这些项目获取 Views。 Android 团队选择使用Adapters 来实现这一点。


    请注意,为了显示Strings 的简单列表,有ArrayAdapter 类。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-03-23
      • 1970-01-01
      • 1970-01-01
      • 2012-06-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-10
      相关资源
      最近更新 更多