如何在Android中更新SimpleAdapter

Chr*_* L. 9 android listview listadapter

是否可以更新SimpleAdapter?我有一个数据列表和一个显示"查看下一个结果"的页脚当单击该列表项时,我捕获事件并获取新数据.然后我想用这个新数据替换ListView中的数据,但我无法弄清楚如何做到这一点.有任何想法吗?我不想使用ArrayAdapter,因为据我所知,这些项只能容纳一个字符串,我需要它来保存多个字符串和整数.

Wal*_*ndt 11

更新:根据del116,您确实可以提供SimpleAdapter可变映射,然后notifyDataSetChanged在需要更新列表时手动调用适配器的方法.但是,我的观点是关于SimpleAdapter的文档,指出它是针对静态数据的; 将它用于可变数据与其设计背道而驰,所以如果你使用这种技术,我肯定会检查它是否会继续在新的Android版本中出现.

(原始评论如下:)

如果你看一下SimpleAdapter描述,它说它是"一个简单的适配器,可以将静态数据映射到XML文件中定义的视图".我添加了重点 - 简单地说,SimpleAdapater不是为了改变数据而使用; 它只处理静态数据.如果您不能使用ArrayAdapter,因为您的数据有多个文本,那么您将需要构建自己的自定义ListAdapter,或者将数据放入数据库并使用其中一个CursorAdapter.

作为最后的手段,如果你并不需要太多的表现,你可以更新ListView由支持SimpleAdapter通过建立一个全新的SimpleAdapter实例任何时候你的数据的变化,并告诉通过使用它的列表视图setListAdapter.

  • 你在这里的答案真的很误导.在我的SimpleAdapter上更新数组数据并调用notifyDataSetChanged()后,我能够更新simpleAdapter.无需使用ArrayAdapter来调用notifyDataSetChanged(). (4认同)