Android 可选设置选择(int)或如何更准确地设置滚动位置

Android 可选设置选择(int)或如何更准确地设置滚动位置,android,Android,我有两个网格视图,我需要同步它,当我滚动一个,第二个必须滚动相同的。我这样做了: gvMain1.setOnScrollListener(new OnScrollListener(){ @Override public void onScroll(AbsListView arg0, int arg1, int arg2, int arg3) { gvMain2.setSelection(arg1);

我有两个网格视图,我需要同步它,当我滚动一个,第二个必须滚动相同的。我这样做了:

gvMain1.setOnScrollListener(new OnScrollListener(){
            @Override public void onScroll(AbsListView arg0, int arg1, int arg2, int arg3) 
            {
                gvMain2.setSelection(arg1);
            }
            @Override public void onScrollStateChanged(AbsListView arg0, int arg1) {}
            }); 
但当我滚动时,我得到了一行高度差附近的增量,我想这是因为第一个网格移动了,但不足以切换到下一个位置。
我怎样才能修复它?

这不容易做到。我尝试过,最终放弃了。GridView不支持ListView所支持的所有内容,这使得这一点非常困难。您可以打开android ListView源代码,尝试复制它们的功能。或者只要切换到使用列表视图,如果这将满足您的需要

对于gridview,您可以使用一些魔法来获得该位置。看

对于grid view,我从来没有找到一种方法可以让它精确地滚动到正确的位置。它只会逐项滚动

有关列表视图,请参阅以下文章:

这里也有一篇关于这个话题的好文章: