如何在整個屏幕重新定向過程中如何保持GridView的滾動位置(充滿搜索結果)?通過屏幕旋轉保持GridView的滾動位置
我有一個片段內的GridView,當我旋轉屏幕時,它跳回到列表的頂部。
爲了使它更加棘手,在橫向模式下我的GridView有3列..在縱向模式下它有2列。
我似乎無法弄清楚當屏幕方向改變時,如何將片段的GridView滾動到任何應該在的位置附近。
如何在整個屏幕重新定向過程中如何保持GridView的滾動位置(充滿搜索結果)?通過屏幕旋轉保持GridView的滾動位置
我有一個片段內的GridView,當我旋轉屏幕時,它跳回到列表的頂部。
爲了使它更加棘手,在橫向模式下我的GridView有3列..在縱向模式下它有2列。
我似乎無法弄清楚當屏幕方向改變時,如何將片段的GridView滾動到任何應該在的位置附近。
你可以試試這個:
最初您通過打電話來想在GridView的當前滾動位置:
int index = gridview.getFirstVisiblePosition();
然後,你必須保存,而方向改變此值,當在GridView是再次創建你必須將你的gridview移動到這個索引。
我想這可能是工作:
gridview.smoothScrollToPosition(int index)
希望這有助於!
您可以使用以下方法,它將適用於所有Android版本。
要保存當前的滾動位置:
int index = gridView.getFirstVisiblePosition();
然後方向更改後,使用下面的代碼到GridView位置設置爲保存索引:
gridView.setSelection(index);
我看到了,但我需要支持回到2.1,所以我沒有訪問smoothScrollToPosition()。我正在使用setSelection(int position)。 getFirstVisiblePosition()正是我所需要的。現在我感到很傻!謝謝! – 2011-12-23 19:30:26
沒問題的隊友!很高興幫助你! :) – 2011-12-23 19:34:20
在我的應用程序中,smoothScrollToPosition不起作用。但setSelection正常工作。 – ChangUZ 2013-05-21 06:12:21