天天看點

PullToRefresh

  1. 導入PullToRefresh

1.1 修改library的build.gradle中的sdk版本

//修改前

compileSdkVersion 16

buildToolsVersion “27.0.3”

defaultConfig {
    minSdkVersion 4
    targetSdkVersion 4
  }
 
  //修改後
  compileSdkVersion 27
  buildToolsVersion "27.0.3"

  defaultConfig {
    minSdkVersion 15
    targetSdkVersion 27
  }
           

1.2 Clear Project後會報如下錯誤,修改源代碼:“PullToRefreshWebView”

錯誤: 找不到符号

符号: 方法 floor(float)

位置: 類 FloatMath

FloatMath.floor -> Math.floor
           

1.3 選中自己的工程,例如:“app”然後滑鼠右鍵“open Moduel settings”導入庫

1.4 修改layout布局檔案,添加PullToRefresh控件替換ListView即可

  1. 第三方控件:上拉加載、下拉重新整理控件

    2.1 導入第三方插件庫

    Android-PullToRefresh-master.zip

2.2 在布局檔案中使用第三方插件

com.handmark.pulltorefresh.library.PullToRefreshListView

2.3 自定義擴充卡(BaseAdapter)提供資料

2.4 異步任務查詢資料(AsyncTask)

2.4.1 AsyncTask定義了三種泛型類型 Params,Progress和Result。

Params 啟動任務執行的輸入參數,比如HTTP請求的URL。

Progress 背景任務執行的百分比。

Result 背景執行任務最終傳回的結果,比如String

2.4.2 異步加載資料最少要重寫以下這兩個方法

doInBackground(Params…) 背景執行,比較耗時的操作都可以放在這裡

onPostExecute(Result) 相當于Handler 處理UI的方式,在這裡面可以使用在doInBackground 得到的結果處理操作UI

–注:此方法中再通知擴充卡和控件

myBaseAdapter.notifyDataSetChanged();// 通知擴充卡資料已改變

plv_main_plv1.onRefreshComplete();// 通知控件資料已經加載完畢

2.5 給PullToRefreshListView設定相關屬性

plv_main_1.setMode(Mode.BOTH);// 設定重新整理模式

Mode.BOTH:同時支援上拉下拉

Mode.PULL_FROM_START:隻支援下拉Pulling Down

Mode.PULL_FROM_END:隻支援上拉Pulling Up

plv_main_1.getLoadingLayoutProxy().setPullLabel("上拉重新整理...");// 剛下拉時,顯示的提
  plv_main_1.getLoadingLayoutProxy().setRefreshingLabel("正在載入...");// 重新整理時
  plv_main_1.getLoadingLayoutProxy().setReleaseLabel("放開重新整理...");// 下來達到一定距離時,顯示的提示 
  
  
  核心:
  1、建立Android的project
  2、将第三方工程導入到project中
  3、由于現有的開發module的sdk與導入的庫的sdk版本不一樣,是以需要修改
  4、在開發的module中引入庫依賴
  5、啟動module報錯的原因,jdk高版本移除了些東西。
  
  
  6、改變listview為PullToRefreshListView 
  7、給PullToRefreshListView設定相關屬性,給下拉元件添加監聽
  8、加載資料源
  9、回調函數中,通知擴充卡資料加載完畢
           

繼續閱讀