5

如前所述 Android 的 GridView.scrollTo() 不起作用。解决方案提到的方法,setSelectedPosition似乎在GridView中不存在

smoothScrollToPosition确实有效,但我真的不想要动画。

对于上下文,我有一个CursorAdapter-backed GridView,当我更改光标时,我希望视图“重置”,即滚动到顶部。

4

2 回答 2

23

我一直在使用setSelection(int position)它,它似乎工作得很好。要滚动到顶部,只需使用 0 作为位置。

从文档:

如果处于触摸模式,该项目将不会被选中,但仍会被适当定位。

编辑: 添加代码以发布setSelection为 Runnable:

albumsView.post(new Runnable() {
    @Override
    public void run() {
        albumsView.setSelection(0);
    }
});
于 2012-10-14T21:19:31.663 回答
1

我发现为了可靠地使用 gridView.setSelection(index),我必须先调用 gridView.setAdapter()(即使适配器已经设置并且没有更改)。像这样:

gridView.setAdapter(gridAdapter);
gridView.setSelection(index);
于 2013-07-10T18:16:10.153 回答