国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

LRecyclerView框架 notifyDataSetChanged 圖片閃爍的問題

2019-11-09 16:53:38
字體:
來源:轉載
供稿:網友

在使用一葉飄舟的LRecyclerView時 由于該框架使用了觀察者模式來處理headerView和footView,因此不能用普通的方法來解決notifyDataSetChanged后圖片閃爍的問題

研究了一下解決步驟如下:

解決原理仍舊是使用tag的方式保存信息

在adapter里給viewholder設置tag的方式保存圖片url

viewHolder.mPReview.setTag(item.getScaledUrl());

由于LRecyclerView使用了觀察者模式,因此僅僅將mDataAdapter設置setHasStableIds為true是不夠的,需要同時將mLRecyclerViewAdapter也設置setHasStableIds為true

mDataAdapter.setHasStableIds(true);mLRecyclerViewAdapter.setHasStableIds(true);

注意:

mLRecyclerViewAdapter.setHasStableIds(true);

需要在

mRecyclerView.setAdapter(mLRecyclerViewAdapter);

前面設置,否則會報錯

最后在adapter中重寫了getItemId方法

@Override public long getItemId(int position) { return position; }

但是發現報Called attach on a child which is not detached錯誤

跟蹤了下源碼發現是由于LRecyclerViewAdapter有一個ArrowRefreshHeader所以導致itemid多了一位

因此將getitemid()方法返回值更改為

return position - 1;

問題就解決了


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 大安市| 漾濞| 莫力| 兰考县| 武穴市| 延寿县| 四子王旗| 镇沅| 淄博市| 乡宁县| 江西省| 慈溪市| 铁岭市| 永定县| 西乌珠穆沁旗| 拉孜县| 娱乐| 万山特区| 谷城县| 霸州市| 息烽县| 赤城县| 罗山县| 扶风县| 定西市| 东平县| 内江市| 达孜县| 安龙县| 休宁县| 临泉县| 格尔木市| 林甸县| 乐亭县| 呈贡县| 灵璧县| 广德县| 恩施市| 望江县| 诸暨市| 南靖县|