91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Diycode開源項目實例搭建上拉加載和下拉刷新的Fragment

發布時間:2020-09-29 04:55:22 來源:腳本之家 閱讀:147 作者:laozhang 欄目:移動開發

以下通過3個知識點給大家講解了上拉加載和下拉刷新的Fragment實現的方法,在對每個知識點介紹了一下用法。

1.效果預覽

1.1.這個首頁就是一個Fragment碎片,本文講述的就是這個碎片的搭建方式。

Diycode開源項目實例搭建上拉加載和下拉刷新的Fragment

下拉會有一個旋轉的刷新圈,上拉會刷新數據。

1.2.整體結構

首先底層的是BaseFragment

然后RefreshRecyclerFragment繼承了BaseFragment

然后SimpleRefreshRecycleFragment繼承了RefreshRecyclerFragment

所以應用類的話只要繼承SimpleRefreshRecycleFragment就可以了。

2.最基礎的BaseFragment

2.1.首先看一下有哪些成員變量

Diycode開源項目實例搭建上拉加載和下拉刷新的Fragment

ViewHolder用作View管理

Config用作配置狀態信息

Diycode是本項目的一個在線服務器

DataCache是一個緩沖器

2.2.onCreate函數,完成初始化

Diycode開源項目實例搭建上拉加載和下拉刷新的Fragment

Config是獲取單例。

Diycode也是獲取單例。 

DataCache是新建一個類。

2.3.定義獲取布局id的抽象函數

Diycode開源項目實例搭建上拉加載和下拉刷新的Fragment

繼承者中就要實現這個函數了。

2.4.獲得本類中的ViewHolder

Diycode開源項目實例搭建上拉加載和下拉刷新的Fragment

2.5.實現onCreateView

Diycode開源項目實例搭建上拉加載和下拉刷新的Fragment

新建的ViewHolder其實已經用了一個getLayoutId()方法,這里調用的是本類的抽象函數。

然后返回的是一個View。

2.6.實現抽象函數initViews

Diycode開源項目實例搭建上拉加載和下拉刷新的Fragment

2.7.復寫onActivityCreated

Diycode開源項目實例搭建上拉加載和下拉刷新的Fragment

實現了間接調用抽象函數。

2.8.提示函數toast

Diycode開源項目實例搭建上拉加載和下拉刷新的Fragment

2.9.來一張Fragment的生命周期

Diycode開源項目實例搭建上拉加載和下拉刷新的Fragment

所以這里的執行順序是:

onCreate==>onCreateView==>onActivityCreate

onCreate作用:初始化配置和Diycode單例和數據緩存器新建。

onCreateView作用:得到ViewHolder。

onActivityCreate作用:實現一個抽象函數initViews,用來給基類來實現。

3.具有下拉刷新和上拉加載的Fragment

3.1.繼承方式

Diycode開源項目實例搭建上拉加載和下拉刷新的Fragment

名稱:RefreshRecyclerFragment<T,Event extends BaseEvent<List<T>>>

Diycode開源項目實例搭建上拉加載和下拉刷新的Fragment

一個類中有兩個參數,像這樣

Diycode開源項目實例搭建上拉加載和下拉刷新的Fragment

所以本類構造函數也需要兩個參數,一個是T,一個是繼承BaseEvent<List<T>>的類

3.2.請求狀態

Diycode開源項目實例搭建上拉加載和下拉刷新的Fragment

3.3.當前狀態

Diycode開源項目實例搭建上拉加載和下拉刷新的Fragment

3.4.分頁加載

Diycode開源項目實例搭建上拉加載和下拉刷新的Fragment

3.5.視圖

Diycode開源項目實例搭建上拉加載和下拉刷新的Fragment

SwipeRefreshLayout==>旋轉的加載圈

RecyclerView==>ListView類型的,列表

3.6.狀態

Diycode開源項目實例搭建上拉加載和下拉刷新的Fragment

3.7.適配器

Diycode開源項目實例搭建上拉加載和下拉刷新的Fragment

HeaderFooterAdapter:帶有頭部和底部的適配器

FooterProvider:底部的內容提供器

Diycode開源項目實例搭建上拉加載和下拉刷新的Fragment

3.8.實現BaseFragment的getLayoutId方法

Diycode開源項目實例搭建上拉加載和下拉刷新的Fragment

3.9.fragment_refresh_recycler.xml

Diycode開源項目實例搭建上拉加載和下拉刷新的Fragment

實際上是這個東西

Diycode開源項目實例搭建上拉加載和下拉刷新的Fragment

3.10.初始化視圖

Diycode開源項目實例搭建上拉加載和下拉刷新的Fragment

在BaseFragment中執行最后面的一個函數。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

南投县| 舒城县| 信宜市| 茂名市| 苍山县| 颍上县| 高唐县| 罗甸县| 宾阳县| 黄龙县| 嘉黎县| 平潭县| 都兰县| 大庆市| 台北县| 七台河市| 易门县| 彩票| 大洼县| 新蔡县| 耒阳市| 井陉县| 西乌珠穆沁旗| 五指山市| 广水市| 河南省| 五河县| 盱眙县| 辽宁省| 中阳县| 延庆县| 安乡县| 怀仁县| 福海县| 昌都县| 蓬莱市| 江源县| 威远县| 怀安县| 宜州市| 康乐县|