1. 程式人生 > >使用下拉重新整理的和上拉重新整理的ListView

使用下拉重新整理的和上拉重新整理的ListView

首先在Android Studio工程裡面import進去一個module,是一個從github上面下載回來的library,網址是https://github.com/chrisbanes/Android-PullToRefresh,只需要下載library資料夾,我是直接用別人開源的寫好的程式碼。

然後,在佈局檔案裡面像原生裡的ListView一樣用上這個PullToRefreshListView。下面是我寫的佈局。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent">
<com.handmark.pulltorefresh.library.PullToRefreshListView android:layout_width = "fill_parent" android:layout_height = "fill_parent" /> </LinearLayout>

可能AS會報錯,說無法找到這個類,這時候就要手動在build.gradle裡面加上樣一行程式碼
這裡寫圖片描述

這裡寫圖片描述
然後再rebuild一下就可以了。

接著,就在java程式碼裡面實現下拉重新整理介面的回撥方法。

listView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
@Override
 public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) 
{
     //下拉重新整理的操作
} @Override public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) { //上拉重新整理的操作 } });

最後就這樣實現上下拉重新整理了,這個PullToRefreshListView的其他操作和原生ListView差不多,如setAdapter,setOnItemClickListener等。

更新:

  1. 要想實現上拉和下拉,listview還要加上這麼一句程式碼:listView.setMode(PullToRefreshBase.Mode.BOTH);
  2. listView的onPullUpToRefresh和onPullDownToRefresh回撥方法要向主執行緒傳送一個message,在主執行緒的Handler物件裡的handleMessage裡面加上要操作的程式碼。如果不這麼做的話,上拉或者下拉後,會一直在顯示載入資料。