使用下拉重新整理的和上拉重新整理的ListView
阿新 • • 發佈:2019-01-26
首先在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等。
更新:
- 要想實現上拉和下拉,listview還要加上這麼一句程式碼:listView.setMode(PullToRefreshBase.Mode.BOTH);
- listView的onPullUpToRefresh和onPullDownToRefresh回撥方法要向主執行緒傳送一個message,在主執行緒的Handler物件裡的handleMessage裡面加上要操作的程式碼。如果不這麼做的話,上拉或者下拉後,會一直在顯示載入資料。