スワイプでデータ更新をする
SwipeRefreshLayoutを使えば良い事がわかった。 GlidやLinearの親としてSwipeRefreshLayoutを使う。
参考ドキュメント
スワイプでの更新をアプリに追加する | Android デベロッパー | Android Developers
参考ドキュメントによるとsupport.v4を使うことになっているが、androidxのバージョンを使いたい。 そのためにimport先を調べておく必要がある。
データの更新が終了したらsetRefreshing(false)をセットする事がわかった。
使い方のイメージをメモ
まずSwipeRefreshLayoutはデフォルトで使えない機能なのでandroidxのモジュールをgradleにインストールする。
//swiperefreshlayoutのインストール : //https://developer.android.com/jetpack/androidx/releases/swiperefreshlayout implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.0.0'
次にlayoutファイルにandroidx.swiperefreshlayout.widget.SwipeRefreshLayoutビューを加える。このタグ以下にはListViewやRecyclerViewを設置するが、複数のビューを設置する事ができないので気をつけること。
このビューにはsetOnRefreshListener{}がある。スワイプを検知するリスナーで{}内にデータ更新のロジックを記述する。 データ更新が終わったらクルクルを削除するためにswiperefresh.isRefreshing = falseを実行する。 コレで良い。