2012-06-24 77 views
0

我这样做:Android ListView - 刷新和排序?

// Member variable 
List<String> items = null; 

// in onCreate 
items = new ArrayList<String>(); 

// later on in a Task (onPostExecute) 
items.add(NewItem); 
adapter.notifyDataSetChanged(); 

我的列表是按字母顺序排列。当我添加一个项目时,它只是放在最下面。任何方式把它放在适当的地方?

(是的,它会按照正确的顺序你回到这个页面的第二次,但没有将其添加)

编辑:我第一次把它为了通过SQL脚本调用。

+0

您使用的是内容提供商吗?你必须动态地添加项目,还是可以将其插入到数据库中,然后依靠内容观察器来更新它? –

+0

我想我可以将项目添加到数据库并将整个列表调回。但是,这似乎会浪费资源/电池/时间。所以我选择了将项目添加到列表中,并将项目分别添加到数据库中。似乎有更好的方法? – KickingLettuce

+0

什么是“物品”?它是适配器的列表视图还是源代码? –

回答

1

我决定研究ArrayList的任何方法,但没有找到任何方法。然而,我确实发现:

items.add(NewItem); 
Collections.sort(items); 

工作完美!我不得不将集合导入到项目中。

1

我对你的回答的建议是,当你在ListView上添加一个项目时,尝试在添加项目时再次在列表上设置适配器。

这样你可以在ListView上刷新数据。

+0

没有工作。不过谢谢。如果你很好奇,我找到了答案并且发布了它。 – KickingLettuce