如何滚动到ListView中新添加的项目

时间:2010-05-07 15:19:36

标签: android listview cursor cursor-position

我的应用程序显示带有按钮的ListView,允许用户添加元素。当用户单击此按钮时,将启动另一个Activity以允许用户填充新元素。添加完成后,我们使用ListView返回上一个Activity,我想滚动到新元素。 请注意,此元素不一定位于ListView的末尾,因为当我从数据库中检索数据时,存在“order by”。

我知道我需要新元素的光标位置来使ListView scrool,但我对这个元素的唯一信息是它的id,那么如何将这个id转换为光标位置?我是否必须循环光标才能找到位置?

提前致谢

1 个答案:

答案 0 :(得分:2)

如果我有这个权利,你的活动就会返回新元素,而不是再次从数据库中获取所有条目,而你拥有的唯一信息就是元素的id。如果这是场景我认为唯一的选择是迭代适配器中的所有元素并找到正确的元素。但在这种情况下,最好使用ArrayAdapter。当第二个活动返回新的ID时,只从db中获取它们,然后将它们添加到适配器。您可以通过实现插入排序来覆盖add(T)方法,因此您的适配器将被排序,您可以存储新插入元素的索引,然后只需滚动到此位置。