recyclerView已經(jīng)用了很久了,大部分時(shí)間都是使用的三方的adapter页屠,但是最基本的我們也需要知道粹胯,畢竟萬(wàn)一哪天輪子沒(méi)了呢?
這段代碼就是經(jīng)典的設(shè)置適配器
這段代碼告訴我們想要繼承RecyclerView.Adapter的泛型必須是VH extends RecyclerView.ViewHolder辰企,那么我們就去實(shí)現(xiàn)一個(gè)最基本的viewHolder
我們實(shí)現(xiàn)了自己的viewHolder风纠,現(xiàn)在爆紅是需要覆蓋其中的方法
接下來(lái)我們要構(gòu)建適配器的構(gòu)造函數(shù)
一般來(lái)說(shuō)我們會(huì)傳入context和資源集合,傳入contenx方便我們加載布局view
注意修改集合的長(zhǎng)度為列表的長(zhǎng)度,不然就空白不顯示了
創(chuàng)建item布局牢贸,我這里比較簡(jiǎn)單為了演示而已竹观,實(shí)際看個(gè)人需求。
我們實(shí)現(xiàn)viewHolder的創(chuàng)建
然后在綁定那里實(shí)現(xiàn)資源的設(shè)置
我們先來(lái)實(shí)驗(yàn)一下adapter能不能用了
驗(yàn)證完畢好像沒(méi)啥問(wèn)題十减,那我們繼續(xù)下一步栈幸,增加條目的長(zhǎng)按和點(diǎn)擊事件
我們定義一個(gè)接口愤估,模仿長(zhǎng)按和點(diǎn)擊條目,里面參數(shù)View和pos是為了方便我們回調(diào)view和點(diǎn)擊的位置
在我們的adapter里面創(chuàng)建一個(gè)這個(gè)接口的引用速址,并生成set方法
可能有看官好奇玩焰,說(shuō)為啥子這樣,耐心繼續(xù)下看
接下來(lái)我們要在onBindViewHolder這里做手腳了
我們先去實(shí)驗(yàn)下能不能實(shí)現(xiàn)效果
事實(shí)證明是可以的
當(dāng)我們?cè)O(shè)置完適配器的時(shí)候芍锚,那么適配器里的itemClickListenner就不是null昔园,當(dāng)條目點(diǎn)擊的時(shí)候,就相當(dāng)于回掉了我們new出來(lái)的監(jiān)聽(tīng)器的點(diǎn)擊事件和長(zhǎng)按事件并炮,我們就能打印出相關(guān)的所需默刚,這樣下來(lái)一個(gè)最基本的監(jiān)聽(tīng)事件就做完了