Androidアプリでスワイプによる更新を実装する方法についてまとめました。
公式のサポートライブラリ(v4のSwipeRefreshLayout)を利用すると簡単に実装できます。
1. サポートライブラリのセットアップ
公式にも記載がありますが、一応書いておきます。
- Android SDK Manager を実行する.
- Packagesのリストの最後までスクロールし、 Extras というフォルダを探す。
- Android Support Library の項目を選択する.
- Install packages… のボタンを押します.
3.のところで、Android Studioを利用している場合は、 Android Support Repository を代わりに選択してください.
また、今回利用する機能はSupportLibraryのrevision 19.1.0から追加されたものです。
SDK Manager のウィンドウで、列Revを確認してAndroid Support Library のrevision番号が19.1より大きいことを確認してください。(2014/10/05段階では、20が最新版です。)
ダウンロードしたSupport Libraryは以下のパスに保存されています。
<sdk>/extras/android/support/
今回利用したい機能はv4のSwipeRefreshLayoutなので、v4のライブラリを利用したいプロジェクトのビルドパスに加えます。
(v4はXML系のリソースがないため、jarの追加のみで大丈夫です。)
- 対象のプロジェクトを選択して、プロパティを開く
- Java Build Pathを選択する
- Librariesを選択する
- Add External JARsを押し、<sdk>/extras/android/support/v4/android-support-v4.jar を選択し、Openを押します。
- OKを押す
後は、スワイプによる更新を利用したいListViewを以下のタグで囲みます。
<
android.support.v4.widget.SwipeRefreshLayout
xmlns:android
=
"http://schemas.android.com/apk/res/android"
android:id
=
"@+id/swipe_refresh_layout"
android:layout_width
=
"match_parent"
android:layout_height
=
"match_parent"
>
</android.support.v4.widget.SwipeRefreshLayout>
その上で、OnRefreshListenerに更新処理を実装し、SwipeRefreshLayoutのViewに対してsetOnRefreshListenerで設定します。