如上所述here,Android的GridView.scrollTo()不起作用。解决方案提到的方法setSelectedPosition
似乎不存在于GridView
smoothScrollToPosition
确实有用,但我真的不想要动画。
对于上下文,我有一个CursorAdapter
- 支持GridView
,我希望视图“重置”,即在我更改光标时滚动到顶部。
答案 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);