国产探花免费观看_亚洲丰满少妇自慰呻吟_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;

問題就解決了


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 崇阳县| 梓潼县| 连云港市| 佛冈县| 阳江市| 盱眙县| 旅游| 宁波市| 青浦区| 孟津县| 尼木县| 吉木萨尔县| 武义县| 修水县| 阿拉善右旗| 舟山市| 昌宁县| 孟连| 宁陵县| 张家港市| 雷波县| 和龙市| 莲花县| 安庆市| 连云港市| 淄博市| 汝城县| 个旧市| 上饶市| 昌图县| 屯留县| 宁安市| 勃利县| 德钦县| 寿宁县| 称多县| 饶阳县| 菏泽市| 宣城市| 长顺县| 沐川县|