5

GridView の現在のスクロール オフセットまたはスクロール位置を特定する方法はありますか?

View.getScrollY() // Underlying var is not updated during a scroll.

OnScrollListener を設定しようとしましたが、onScroll コールバックは私の目的に対して十分に細かく設定されていません。

OnScrollListener を使用してスクロール オフセットを決定しようとしている方法を次に示します。

private int getScrollY() {
    int top = 0;
    if (mGridView.getChildCount() > 0) {
        final View firstView = mGridView.getChildAt(0);
        top = firstView.getTop();
    }
    return top;
}

このコードの問題は、上にスクロールしたときに返される y オフセットが不正確であることです。上面図が再利用されるため、y オフセットがジャンプしているように見えます。

GridView のスクロール オフセットを計算する良い方法はありますか? 良い解決策が見つからないようです。

4

2 に答える 2

1

使用できますGridView.getFirstVisiblePosition()

http://developer.android.com/reference/android/widget/AdapterView.html#getFirstVisiblePosition()

于 2013-07-03T16:17:12.213 に答える