5

ここで述べたように、AndroidのGridView.scrollTo()は機能しません。上記のソリューションのメソッドは、 GridViewsetSelectedPositionに存在しないようです

smoothScrollToPosition動作しますが、アニメーションは本当に必要ありません。

コンテキストとして、CursorAdapter-backedGridViewがあり、カーソルを変更したときにビューを「リセット」する、つまり一番上までスクロールする必要があります。

4

2 に答える 2

23

I've been using setSelection(int position) for this, and it seems to be working just fine. To scroll to the top, just use 0 for position.

From the docs:

If in touch mode, the item will not be selected but it will still be positioned appropriately.

Edit: Added code to post setSelection as a Runnable:

albumsView.post(new Runnable() {
    @Override
    public void run() {
        albumsView.setSelection(0);
    }
});
于 2012-10-14T21:19:31.663 に答える
1

gridView.setSelection(index) を確実に使用するには、最初に gridView.setAdapter() を呼び出す必要があることがわかりました (アダプターが既に設定されており、変更されていない場合でも)。そのようです:

gridView.setAdapter(gridAdapter);
gridView.setSelection(index);
于 2013-07-10T18:16:10.153 に答える