ここで述べたように、AndroidのGridView.scrollTo()は機能しません。上記のソリューションのメソッドは、 GridViewsetSelectedPosition
に存在しないようです
smoothScrollToPosition
動作しますが、アニメーションは本当に必要ありません。
コンテキストとして、CursorAdapter
-backedGridView
があり、カーソルを変更したときにビューを「リセット」する、つまり一番上までスクロールする必要があります。
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);
}
});
gridView.setSelection(index) を確実に使用するには、最初に gridView.setAdapter() を呼び出す必要があることがわかりました (アダプターが既に設定されており、変更されていない場合でも)。そのようです:
gridView.setAdapter(gridAdapter);
gridView.setSelection(index);