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. mysql - AttributeError: ’module’ object has no attribute ’MatchType’2. javascript - JS設置Video視頻對象的currentTime時出現了問題,IE,Edge,火狐,都可以設置,反而chrom卻...3. javascript - 圖片能在網站顯示,但控制臺仍舊報錯403 (Forbidden)4. MySQL客戶端吃掉了SQL注解?5. 網頁爬蟲 - python爬蟲翻頁問題,請問各位大神我這段代碼怎樣翻頁,還有價格要登陸后才能看到,應該怎么解決6. 數據庫 - MySQL 單表500W+數據,查詢超時,如何優化呢?7. objective-c - iOS怎么實現像QQ或者微信的實時推送8. php自學從哪里開始?9. 求大神幫我看看是哪里寫錯了 感謝細心解答10. phpstady在win10上運行
