আমার মনে হয় সবচেয়ে সহজ উপায় অ্যান্ড্রয়েড সমর্থন লাইব্রেরি দ্বারা সরবরাহিত হিসাবে:
android.support.v4.widget.SwipeRefreshLayout;
একবার এটি আমদানি হয়ে গেলে আপনার লেআউটটি নীচের মতো সংজ্ঞায়িত করতে পারেন:
<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>
আমি ধরে নিলাম আপনি তালিকার ভিউয়ের পরিবর্তে পুনর্ব্যবহারযোগ্য ভিউটি ব্যবহার করেন। যাইহোক, তালিকাভিউ এখনও কাজ করে তাই আপনাকে কেবল তালিকা-দর্শন সহ পুনর্ব্যবহারযোগ্য পর্যালোচনা এবং জাভা কোড (ফ্রেগমেন্ট) এর রেফারেন্সগুলি আপডেট করতে হবে।
আপনার ক্রিয়াকলাপ খণ্ডে, আপনি প্রথমে ইন্টারফেসটি প্রয়োগ করেন 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);
}
}
আশা করি এটি জনগণকে সহায়তা করবে