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

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

LRecyclerView框架 notifyDataSetChanged 圖片閃爍的問題

2019-11-09 15:42:51
字體:
來源:轉載
供稿:網友

在使用一葉飄舟的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;

問題就解決了


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 通海县| 邵阳县| 宿州市| 洪江市| 神池县| 万山特区| 哈巴河县| 延川县| 鹤峰县| 南木林县| 元氏县| 南溪县| 榆中县| 河北区| 临澧县| 阜南县| 肇源县| 土默特左旗| 冀州市| 景洪市| 彭泽县| 金平| 隆回县| 德钦县| 武山县| 邵武市| 河池市| 西昌市| 孝义市| 遂川县| 九龙县| 东宁县| 灵丘县| 岚皋县| 得荣县| 乌拉特后旗| 丁青县| 丁青县| 亚东县| 越西县| 建湖县|