【问题标题】:List view duplicate data列表查看重复数据
【发布时间】:2013-09-29 09:20:52
【问题描述】:

我正在使用列表视图在自定义对话框中填充数据。我正在将一个列表传递给适配器。该列表有 250 个不同的项目。

我遇到的问题是适配器的 getView 方法只被调用了 7 次,然后数据显示在对话框中。该对话框有前 7 个重复项以填充对话框中的所有 250 行。

我不明白为什么 getView 只被调用了 7 次(而且在我的对话框中我一次可以看到 7 个项目。我需要滚动查看其他项目。数量之间有什么关系吗?我看到的元素和 getView 将被调用的次数)。

知道为什么会这样。提前致谢。

【问题讨论】:

  • 您是否遵循ViewHolder 模式?
  • 是的,我正在使用支架
  • 嗯..奇怪!你有没有调试过你的应用程序来检查你的数据数组大小是多少(只是为了确保你真的没有在数组中重复日期)?
  • 是的,我在那个模式上有问题。谢谢。

标签: android listview


【解决方案1】:

是的,我认为当项目实际显示在屏幕上时会调用getView。当您滚动时,会显示更多项目,getView 将被调用更多次。

【讨论】:

  • 我只在 convertView 为空时创建新行,否则我返回同一行。我不明白为什么数据在我的对话框中重复。
  • 前七项对所有行重复(250)
  • 好的,我想我误解了你的问题。您能否发布您的代码以帮助我理解您的问题?
  • 抱歉,有问题了。我没有正确处理视图模式中的 else 部分。谢谢
【解决方案2】:

仅当 convertView 为空时我才创建新行,否则我返回同一行。我不明白为什么数据在我的对话框中重复”

您可以尝试在每次从getView 方法返回时设置每个项目的数据。 convertView被重用,需要更新convertView绑定的数据。您可以使用ViewHolder 将小部件保存在每个项目中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-05-31
    • 2015-07-24
    • 2015-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-17
    • 1970-01-01
    相关资源
    最近更新 更多