5

Gridviewが一番上までスクロールされているかどうかを確認したいと思います。

現在、これを行うためにgetChildAt(0).getTop()を使用しています。最初の描画でgetChildAt(0).getTop()の値を保存し、後続の描画でgetChildAt(0).getTop()と比較します。

しかし、これはハッキーなようで、時々間違った結果をもたらすようです。

より良いアイデアはありますか?

4

4 に答える 4

1

を使用してみてくださいonScrollListener

setOnScrollListener(this);

@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {

    if(firstVisibleItem == 0){
        //do stuff here
    }

}
于 2013-03-14T00:39:54.470 に答える
0

は GridView の最初の表示項目を返しますが、それgetChildAt(0)はあなたが望むものではないと思います。

メソッドを使用yourGridView.getFirstVisiblePosition()すると、データ アダプタの最初の可視位置が返されます。これが必要です。

于 2012-07-14T19:25:05.070 に答える