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