RecyclerView實現item區域性重新整理

2021-09-27 09:51:28 字數 1132 閱讀 9326

一、view的資料繫結方法

recyclerview.adapter裡有這麼兩個方法

public void onbindviewholder(@nonnull viewholder holder, int position)
public void onbindviewholder(@nonnull vh holder, int position, @nonnull listpayloads)
通過兩個方法比較會發現有兩個細節

第二個方法比第乙個方法多了payloads引數,該引數是什麼意思呢?就是當你區域性更新的時候,需要傳遞更新的資料,那麼payloads就儲存了你傳過來的資料。

第二個方法裡執行了第乙個方法,也就是說在adapter繫結檢視的時候,是先執行還有payloads引數的這個方法,因此在區域性重新整理的時候,可以在第二個方法裡進行資料處理。

二、如何使用

notifyitemchanged(int position, @nullable object payload)
該方法第二個引數就是區域性重新整理需要的資料了,是乙個object物件,這時候就有人產生疑問了,這邊明明是乙個object,那為什麼onbindviewholder方法接收的是乙個list集合呢?

如果多次同時呼叫notifyitemchanged(int position, @nullable object payload),它會把多個payload存入到乙個list集合中,然後只呼叫一次onbindviewholder。

@override

public void onbindviewholder(@nonnull final viewholder holder, int position, @nonnull listpayloads) else

}

@override

public void onbindviewholder(@nonnull final viewholder viewholder, final int position)

RecyclerView多條目實現

這裡做兩個條目的例子public class 類名 extends recyclerview.adapterclass 類名 extends recyclerview.viewholder class 類名 extends recyclerview.viewholder 此處省略n 1個預設實現的有...

實現RecyclerView 的通用Adapter

recyclerview雖然很好,但是卻需要為每乙個 recyclerview 實現乙個 adapter 而沒有像 baseadap 那樣的通用 adapter 下面就來實現乙個通用的 adapter 首先實現乙個baseviewholder public class baseviewholder ...

RecyclerView頂部重新整理實現詳解

recyclerview頂部重新整理的實現通常都是在recyclerview外部再包裹一層布局。在這個外層布局中,還包含乙個自定義的view,作為頂部重新整理時的指示view。也就是說,外層布局中包含兩個child,乙個頂部重新整理view,乙個recyclerview,頂部重新整理view預設是隱...