Furudateのブログ

プログラミングやネットワーク系の知識・技術がメインのブログ。技術メモ帳的な感じになるかと。岩手から発信していきます。

【Android】ListViewのスクロール位置を記憶する

こんにちは。

今回はAndroidでListViewから他の画面に飛んでまた戻ってきたときに、そこまででスクロールしていた位置に戻す処理をしたいと思います。


以下スクロール位置を記録する処理と、設定する処理です。

int position = listView.getFirstVisiblePosition();  
int y = listView.getChildAt(0).getTop();

listView.setSelectionFromTop(position, y);

setSelectionFromTopでスクロール位置を設定しています。
これはAdapterをセットした際にやると良いと思います。

実際には、他の画面に飛ぶ前にスクロール位置を記録しておいて、それをIntentで渡します。
そして、他の画面でListViewに戻る際に、受け取った値をまたListViewに渡して、それを参照するようにします。


以上です。
それでは。