在Android中将项目添加到顶部时,保持列表的滚动位置

在Android中将项目添加到顶部时,保持列表的滚动位置,android,android-listview,scrollview,Android,Android Listview,Scrollview,在其他一些地方,我找到了一个解决方案,解决了在列表顶部添加项目时保持滚动位置的问题 我测试了它,结果是列表滚动,然后恢复原始位置,但用户可以看到列表跳跃 这种方法的另一个问题是,如果我非常快地添加项目,它将不起作用。原因是新游标可以有多个新项,因为以前的一些游标无法使用 有更好的解决方案吗?可以试试这个 listPos = getListView().getFirstVisiblePosition(); int newPos = listPos + (customAdapter.getCount

在其他一些地方,我找到了一个解决方案,解决了在列表顶部添加项目时保持滚动位置的问题

我测试了它,结果是列表滚动,然后恢复原始位置,但用户可以看到列表跳跃

这种方法的另一个问题是,如果我非常快地添加项目,它将不起作用。原因是新游标可以有多个新项,因为以前的一些游标无法使用

有更好的解决方案吗?

可以试试这个

listPos = getListView().getFirstVisiblePosition();
int newPos = listPos + (customAdapter.getCount() - oldListSize);
getListView().setSelectionFromTop(newPos, 0)
这为什么要解决“跳跃”问题?