android - recyclerview顯示錯(cuò)亂
問題描述
滑動(dòng)的時(shí)候,不該顯示的item也顯示了標(biāo)注(就是那個(gè)數(shù)字1)
@Override public void onBindChildViewHolder(MyChildViewHolder holder, int groupPosition, int childPosition, int viewType) { //...if (studentBean.getGalleryCount() != 0) { holder.childAlbumNum.setText(' ' + studentBean.getGalleryCount() + '’ ');} else { holder.childAlbumNum.setVisibility(View.GONE);} //... }
問題解答
回答1:RecyclerView是用于重用的,也就是說你的每一個(gè)條目,使用的有可能是前面已經(jīng)使用過的布局對(duì)象。所以你在onBindChildViewHolder里應(yīng)該對(duì)某些View的顯示與否做一下初始化設(shè)定。你的代碼里,我看到了你僅僅在某種情況下隱藏了一個(gè)View,但是卻沒有初始化它的顯示與否,這樣可能由于上一次顯示時(shí)是GONE的,這一次你設(shè)置的數(shù)據(jù),但是因?yàn)闆]有設(shè)置VISIBLE,所以就導(dǎo)致顯示不出來了。你的問題應(yīng)該就是這個(gè),建議你在onBindChildViewHolder的開始部分加入:
holder.childAlbumNum.setVisibility(View.VISIBLE);回答2:
沒看出哪里有問題,那個(gè)數(shù)字1?
相關(guān)文章:
1. python如何不改動(dòng)文件的情況下修改文件的 修改日期2. angular.js - 不適用其他構(gòu)建工具,怎么搭建angular1項(xiàng)目3. angular.js - Angular路由和express路由的組合使用問題4. python - django 里自定義的 login 方法,如何使用 login_required()5. java8中,邏輯與 & 符號(hào)用在接口類上代表什么意思6. mysql優(yōu)化 - mysql count(id)查詢速度如何優(yōu)化?7. mysql主從 - 請(qǐng)教下mysql 主動(dòng)-被動(dòng)模式的雙主配置 和 主從配置在應(yīng)用上有什么區(qū)別?8. 主從備份 - 跪求mysql 高可用主從方案9. node.js - node_moduls太多了10. python - 關(guān)于ACK標(biāo)志位的TCP端口掃描的疑惑?
