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

問題就解決了


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 邮箱| 襄樊市| 景德镇市| 沽源县| 桐城市| 通州市| 奉节县| 乐平市| 磐石市| 军事| 中宁县| 凤凰县| 会泽县| 格尔木市| 张家口市| 扎兰屯市| 马公市| 巩留县| 甘肃省| 班玛县| 商河县| 四子王旗| 格尔木市| 肥城市| 盈江县| 玉环县| 囊谦县| 乌审旗| 班戈县| 北辰区| 青岛市| 青神县| 军事| 山阴县| 襄城县| 浠水县| 会同县| 聊城市| 磐安县| 仁怀市| 新建县|