1

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

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

提前致谢

4

1 回答 1

2

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

于 2010-05-07T18:18:48.253 回答