7 5 高階功能列表下拉重新整理與上拉載入更多功能實現

2022-01-19 08:23:26 字數 1392 閱讀 2172

陣列還是那個陣列,只不過這裡由靜態型別改成了非靜態型別。

改成了有狀態的widget

用refreshindicator包裹listview。這樣listview就有了下拉重新整理的能力。

下拉,鬆開的的手的時候會執行重新整理,也就是onrefresh這個方法。這個方法要求我們傳遞乙個必須帶有future返回值的方法

所以這裡我們定義了帶有future返回值的方法。這個方法裡面如果我們不想返回值的內容,就在future的泛型設定為null。也就是future

下拉重新整理的方法,延遲2秒鐘,修改狀態用setstate對陣列進行取反。取反後轉換為list

重新整理後,陣列取反,拉薩排第一

上拉載入更多。

這裡構建了乙個scrollcontroller的例項

然後在這裡增加了listener**。

maxscrollextent最大可滾動位置。就是列表到達了底部。這個時候就是我們觸發載入更多的邏輯。所以呼叫了_loaddata方法

把原來的陣列複製乙份新的

陣列又載入了乙份。

initstate是生命週期的開始。dispose是宣告週期的結束。在結束的時候 釋放了_scrollcontroller.dispose();讓我們及時的把我們新增的listener移除掉。這樣能減少一些效能上損耗。

列表既增加了下拉重新整理,也增加了載入更多的功能

下拉重新整理上拉載入

implements ixlistviewlistener 在oncreat裡面寫的 下拉重新整理是否啟用 xlistview.setpullrefreshenable true 載入更多是否啟用 xlistview.setpullloadenable true xlistview重新整理和載入更多...

下拉重新整理上拉載入

下拉載入上拉重新整理 需求 看看包是否有錯 然後在布局中把listview 改為 xlistview檔名 在activity找到控制項 xlistview xlistview view.findviewbyid r.id.xlistview xlistview setpullloadenable t...

上拉載入 下拉重新整理

自動配置 pod afnetworking pod mjrefresh pod svprogresshud pod sdwebimage 首先 vc.h 中 property nonatomic assign int page 當前頁 vc.m property nonatomic strong n...