在BaseAdapter中的现有项之间插入ListView中的项

时间:2013-12-30 11:09:33

标签: android android-listview

我理解如何实现列表适配器,但我需要一些我认为不能用常规适配器完成的事情。我的需求基于以下场景。

  • 我在几个远程网站上查询RSS和Atom供稿
  • 使用罗马将Feed合并到一个Feed中,并按日期排序,降序
  • 然后,ListView使用自定义BaseAdapter
  • 显示数据
  • 我存储了最新的合并Feed数据,因此我可以在应用程序重启后显示一些内容
  • 有时,Feed无法访问或无法访问。获取新数据后,我可能会检索此Feed中的条目,这些条目实际上比我现有的本地存储数据要早。
  • 我需要在ListView的现有项目之间插入这些Feed条目,而不会触及View中新项目(位于其上方)的ListView

基本上我正在寻找insert()函数而不是add()函数

2 个答案:

答案 0 :(得分:1)

如果您使用ArrayAdapter<>作为适配器类,则可以使用insert()的方法

答案 1 :(得分:0)

您需要更改适配器的“容器”并调用notifyDataSetChanged()。

如果使用ArrayAdapter,请将数据插入正确的位置。如果使用CursorAdapter,则应使用“order by”进行查询。