GridView - 恢复滚动位置

时间:2015-09-22 10:33:09

标签: android gridview

我有使用下面的方法恢复GridView位置的问题。使用gv.setSelection(index);可以正常工作,但需要更准确地定位GridView。当我使用gv.setSelectionFromTop(index, top);时,滚动恢复良好,但仅当index0时才会恢复。使用ListView,相同的方法可以正常工作。操作系统:Android 5.0.2。

保存:

index = gv.getFirstVisiblePosition();
View v = gv.getChildAt(0);
top = (v == null) ? 0 : (v.getTop() - gv.getPaddingTop());

恢复:

gv.setSelectionFromTop(index, top);

布局:

<GridView
    android:clipToPadding="false"
    android:scrollbarStyle="outsideOverlay"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/list"
    android:horizontalSpacing="1px"
    android:numColumns="auto_fit"
    android:columnWidth="140dp"/>

0 个答案:

没有答案