SwipeRefreshLayoutをRecyclerViewでKotlinで実装します

SwipeRefreshLayoutとは

ListViewやRecyclerViewなどで通信して取得するdataを再取得するためのレイアウトです。
ListViewを上部から引っ張るとProgressBarが表示されます。

その実装方法を解説します。

SwipeRefreshLayoutをxmlに定義

今回は、RecyclerView内に実装します。
RecyclerViewの実装方法はこちら

SwipeRefreshLayoutはapi level 22.1.0からですが、
support libraryがあります。

app build.gradleの設定

SwipeRefreshLayoutをFragmentでインスタンス化する

SwipeRefreshLayoutの関数

setColorSchemeColors

インジケータの色の設定をします。

setOnRefreshListener

リフレッシュ動作を行った時に呼び出される関数のリスナーをセットします。

ここでは、remoteからデータを取得するloadPlayList関数を読み込んでいます。

インジケーターの表示を消す

リフレッシュ動作が終了した時には、インジケータを非表示にする必要があります。
表示・非表示を管理しているboolean isRefreshingを切り替えます。

以上です。

Pocket