ListView如何获取滚动位置?

6
我正在使用MergeAdapter(来自Mark Murphy的一系列优秀项目)。您可以将其与ListView一起使用。在刷新时,我尝试重建适配器的内容(而不是在原地刷新并调用notifyDataSetChange())。
我想获取ListView的y-scroll值,以便在重建列表后重新设置到该值。这似乎不可能?
谢谢
1个回答

1

为您的ListView实现OnScrollListener。

@Override
public void onScroll(AbsListView absListView, int firstVisible, int visibleCount, int totalCount) { 
//firstvisible is your first visible item in the list
}

6
没错,但这并没有告诉我们滚动位置的精确像素值,对吧?我想在刷新列表后调用 ListView.scrollTo(x, y) 方法。但 OnScrollListener 只告诉你可见的项目,而不是它们的位置或其他任何信息。 - user291701
2
请查看 https://dev59.com/dXA75IYBdhLWcg3w8-HZ - Tarun
不起作用:onScroll仅适用于像ScrollView这样的视图。 - Teovald
请查看以下链接获取正确的解决方案:https://dev59.com/w2cs5IYBdhLWcg3wlFA2#35594825 - Sarasranglt

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接