Android: GridView更新後にスクロール位置を保つ

Android: GridViewに次へボタンを仕込むを書いたときの課題として、『次へボタンを押した後にスクロール位置を保持する』というのがあったのですが、それが出来ましたので、備忘録として書いておきます。

  1. 次へボタンが押されたら、先にGridView.getLastVisiblePosition()で現在位置を取得し、アクティビティのメンバ変数(mPosition)などに保存
  2. 今まで通り、次のデータを取得して、GridView.setAdapter(adapter)する
  3. その直後、GridView.setSelection(mPosition)を実行

という感じですねー。これで、次へボタンが押されたら、次のデータが画面に表示されています。今回はそのほうが都合がよかったのでそうしたのですが、もし次のデータでなく、次へボタンを押す前のデータが表示されてて下にスクロールしたら次のデータが見るようにしたい!ということだったら、getLastVisiblePosition()ではなく、getFirstVisiblePosition()を使いましょう。


カテゴリー Android, Java | タグ   | パーマリンク

コメント・トラックバック一覧

  1. Pingback: Android: GridViewに次へボタンを仕込む | 自転車で通勤しましょ♪ブログ

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です