1
我有一個RxJava2 Observable,它需要兩個列表,計算它們的差異結果並將此數據發送到適配器。主線程上的適配器調度更新。DiffResult調度導致「檢測到不一致」。無效的視圖持有人適配器positionViewHolder'錯誤有時
適配器調度的代碼:
public void dispatchStreams(List<StreamV3> streams, @Nullable DiffUtil.DiffResult diffResult) {
if (streams == null) return;
streamsList.clear();
streamsList.addAll(streams);
if (diffResult != null) {
diffResult.dispatchUpdatesTo(this);
}
}
我有「不一致檢測。無效的視圖持有人適配器positionViewHolder有時在某些設備上的錯誤。我無法弄清楚我的代碼有什麼問題。 Min SDK 21,Target SDK 26,RecyclerView版本是26.0.0。我知道擴展LinearLayoutManager的解決方法,並默默地捕獲這個錯誤,但這是不好的解決方案,我相信這裏應該是更好的解決方案。
任何人都可以提供任何幫助嗎?
是檢測到不一致。無效的視圖持有人適配器positionViewHolder'? – Blackbelt
@Blackbelt,是 –
我可以告訴你我們如何解決這個問題,但我們不知道爲什麼。這是很多的試驗和錯誤 – Blackbelt