通过滚动同步两个列表视图

5
我有两个ListViews,是否有办法在滚动任意一个列表时同步ListViews的位置。我正在实现AbsListView.OnScrollListener,并注册到ListView上。当ListView被滚动时,OnScrollListener的onScroll()方法将被触发,然后调用smoothScrollToPosition()。但它不能正常工作。可能重复:
如何同步两个Listview的位置
滚动时同步2个ListViews

有人能为我提供任何相关编程的代码示例吗?...我只想滚动一个ListView,而另一个ListView会同步移动。如果你想知道我为什么使用2个ListView,那是因为我正在尝试制作一个类似于带有固定列和标题的DataGridView的复合控件。

1个回答

1

尝试类似这样的东西

if( this.getScrollY() != otherList.getScrollY() )
    otherList.setScrollY( this.getScrollY() );

在onScrollListener的onScroll方法中。上面的内容相当粗糙。

实际上,您想要使用otherList.setSelectionFromTop()。getScrollY()是指整个视图的滚动,而不是ListView的内容。在这里查看。 - Mike Ortiz
getScrollY() 对于 ListView 总是为 0。 - BeNeXuS

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