[英]How to Maintain Scroll position of recyclerView on Screen Rotation
[英]Maintain Scroll Position of GridView through Screen Rotation
如何在整個屏幕重新定向期間保持GridView的滾動位置(充滿搜索結果)?
我將GridView放在Fragment中,當我旋轉屏幕時,它跳回到列表的頂部。
更棘手的是,在橫向模式下,我的GridView有3列。在縱向模式下,它有2列。
我似乎無法弄清楚如何使片段的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。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.