GridView.scrollTo()的变通办法?

正如这里提到的,Android的GridView.scrollTo()不起作用。 解决方案中提到的方法setSelectedPosition似乎不存在于GridView中

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

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

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

来自文档:

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

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

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

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

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