BRVAH分組功能原理分析

2021-09-19 06:40:06 字數 1948 閱讀 8995

最近在diycode社群遇到一位同學提問,所以特寫此文章來分析brvah分組功能的實現。如果還什麼疑問都可以在這裡進行提問 因為開源專案和技術分享收到 google 的面試邀請,大家有什麼想要討論的麼?

問題分析的步驟:

如何使用

原理分析

adapter的構造需要傳入三個引數,分別是內容的布局和頭部的布局和資料來源,資料來源需要繼承sectionentity如下:

public class mysection extends sectionentity    

public mysection(video t)

}

public static listgetsampledata()
其實頭部和內容部分就是通過不同的type來實現的,我們可以檢視basesectionquickadapter原始碼

@override

protected int getdefitemviewtype(int position)

它是通過sectionentityisheader屬性來區別是否是頭部的

public abstract class sectionentity    

public sectionentity(t t)

}

這就是為什麼要求開發者的實體類必須繼承sectionentity的原因了,因為需要通過它的isheader這個屬性來改變type,oncreateviewholder通過不同的type來載入不同的布局。

@override

protected baseviewholder oncreatedefviewholder(viewgroup parent, int viewtype)

然後在onbindviewholder裡面通過type來區分頭部和內容部分呼叫不同的方法

protected void convert(baseviewholder holder, object item) 

}protected abstract void converthead(baseviewholder helper, t item);

protected abstract void convert(baseviewholder helper, t item);

setfullspan是填充一行的方法,因為要考慮到多種layoutmanager的情況。

如果還什麼疑問都可以在這裡進行提問 因為開源專案和技術分享收到 google 的面試邀請,大家有什麼想要討論的麼?

登入 退出功能 token原理分析

1 登入業務流程 1.在登入頁面輸入使用者名稱和密碼 2.呼叫後台介面進行驗證 3.通過驗證後,根據後台的響應狀態跳轉到專案主頁 2 登入業務的相關技術點 1.http是無狀態的 2.通過cookie在客戶端記錄狀態 建議非跨域請求時使用 3.通過session在伺服器端記錄 4.通過token方式...

sql實現分組統計功能

現有人口資訊表,表中有字段年齡 整型 性別 字元 要求統計不同年齡段的男女比例,形成如下 年齡 男 女 18以下 18 30 30 40 40 50 50 60 60以上 實現sql如下 select 年齡,sum 男 sum 女 from select case when 年齡 18 then 1...

IAP功能原理分析與工作流程

1.1 iap isp 在系統程式設計,一般來說通過串列埠對程式進行更新.不需要專門的程式設計器,如jlink.isp的實現相對要簡單一些,一般通用做法是內部的儲存器可以由上位機的軟體通過串列埠來進行改寫。對於微控制器來講可以通過spi或其它的序列介面接收上位機傳來的資料並寫入儲存器中。所以即使我們...