GridView.scrollTo()的变通办法?

时间:2012-10-12 04:46:48

标签: android gridview scroll

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

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

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

2 个答案:

答案 0 :(得分:23)

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

来自文档:

  

如果处于触控模式,则不会选择该项目,但仍会正确定位。

修改 添加了将setSelection发布为Runnable的代码:

albumsView.post(new Runnable() {
    @Override
    public void run() {
        albumsView.setSelection(0);
    }
});

答案 1 :(得分:1)

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

gridView.setAdapter(gridAdapter);
gridView.setSelection(index);