Cara termudah yang menurut saya disediakan oleh pustaka dukungan android:
android.support.v4.widget.SwipeRefreshLayout;
setelah itu diimpor maka Anda dapat menetapkan tata letak sebagai berikut:
<android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/refresh"
android:layout_height="match_parent"
android:layout_width="match_parent">
<android.support.v7.widget.RecyclerView
xmlns:recycler_view="http://schemas.android.com/apk/res-auto"
android:id="@android:id/list"
android:theme="@style/Theme.AppCompat.Light"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/button_material_light"
>
</android.support.v7.widget.RecyclerView>
</android.support.v4.widget.SwipeRefreshLayout>
Saya berasumsi bahwa Anda menggunakan tampilan pendaur ulang daripada tampilan daftar. Namun, listview masih berfungsi sehingga Anda hanya perlu mengganti recyclerview dengan listview dan memperbarui referensi dalam kode java (Fragment).
Di fragmen aktivitas Anda, Anda pertama-tama mengimplementasikan antarmuka,: SwipeRefreshLayout.OnRefreshListener
i, e
public class MySwipeFragment extends Fragment implements SwipeRefreshLayout.OnRefreshListener{
private SwipeRefreshLayout swipeRefreshLayout;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_item, container, false);
swipeRefreshLayout = (SwipeRefreshLayout) view.findViewById(R.id.refresh);
swipeRefreshLayout.setOnRefreshListener(this);
}
@Override
public void onRefresh(){
swipeRefreshLayout.setRefreshing(true);
refreshList();
}
refreshList(){
//do processing to get new data and set your listview's adapter, maybe reinitialise the loaders you may be using or so
//when your data has finished loading, cset the refresh state of the view to false
swipeRefreshLayout.setRefreshing(false);
}
}
Semoga ini bisa membantu massa