android - recyclerview顯示錯亂
問題描述
滑動的時候,不該顯示的item也顯示了標注(就是那個數字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是用于重用的,也就是說你的每一個條目,使用的有可能是前面已經使用過的布局對象。所以你在onBindChildViewHolder里應該對某些View的顯示與否做一下初始化設定。你的代碼里,我看到了你僅僅在某種情況下隱藏了一個View,但是卻沒有初始化它的顯示與否,這樣可能由于上一次顯示時是GONE的,這一次你設置的數據,但是因為沒有設置VISIBLE,所以就導致顯示不出來了。你的問題應該就是這個,建議你在onBindChildViewHolder的開始部分加入:
holder.childAlbumNum.setVisibility(View.VISIBLE);回答2:
沒看出哪里有問題,那個數字1?
相關文章:
1. javascript - 在 vue里面用import引入js文件,結果為undefined2. html - 爬蟲時出現“DNS lookup failed”,打開網頁卻沒問題,這是什么情況?3. 求教一個mysql建表分組索引問題4. 小程序怎么加外鏈,語句怎么寫!求救新手,開文檔沒發現5. html5 - input type=’file’ 上傳獲取的fileList對象怎么存儲于瀏覽器?6. 求救一下,用新版的phpstudy,數據庫過段時間會消失是什么情況?7. python沒入門,請教一個問題8. php如何獲取訪問者路由器的mac地址9. node.js - 用nodejs 的node-xlsx模塊去讀取excel中的數據,可是讀取出來的日期是數字,請問該如何讀取日期呢?10. javascript - 我的站點貌似被別人克隆了, google 搜索特定文章,除了域名不一樣,其他的都一樣,如何解決?
