如何在整个屏幕重新定向过程中保持 GridView 的滚动位置(其中充满搜索结果)?
您可以使用以下方法,它适用于所有Android版本。
保存当前滚动位置:
int index = gridView.getFirstVisiblePosition();
然后在方向更改后,使用以下代码将 gridView 位置设置为保存的索引:
gridView.setSelection(index);
你可以试试这个:
最初你必须通过调用来获取 GridView 的当前滚动位置:
int index = gridview.getFirstVisiblePosition();
然后,您必须在方向更改时保存此值,并且当再次创建 GridView 时,您必须将 gridview 移动到此索引。
我想这可行:
gridview.smoothScrollToPosition(int index)
希望这有帮助!
使用 getFirstVisiblePosition() 很好,但我找到了一个很好的解决方案,只是为了保存视图状态。
//state of view (includes scroll position) as a Parceble
Parcelable mobileGalleryState = gridView.onSaveInstanceState();
//just restore previous state including all changes are made before
gridView.onRestoreInstanceState(mobileGalleryState);
顺便说一句,你也可以将它用于ListView。