Android: GridViewに次へボタンを仕込むを書いたときの課題として、『次へボタンを押した後にスクロール位置を保持する』というのがあったのですが、それが出来ましたので、備忘録として書いておきます。
- 次へボタンが押されたら、先にGridView.getLastVisiblePosition()で現在位置を取得し、アクティビティのメンバ変数(mPosition)などに保存
- 今まで通り、次のデータを取得して、GridView.setAdapter(adapter)する
- その直後、GridView.setSelection(mPosition)を実行
という感じですねー。これで、次へボタンが押されたら、次のデータが画面に表示されています。今回はそのほうが都合がよかったのでそうしたのですが、もし次のデータでなく、次へボタンを押す前のデータが表示されてて下にスクロールしたら次のデータが見るようにしたい!ということだったら、getLastVisiblePosition()ではなく、getFirstVisiblePosition()を使いましょう。
Pingback: Android: GridViewに次へボタンを仕込む | 自転車で通勤しましょ♪ブログ