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 - react-router 4.0版本怎么实现以前onEnter的效果2. atom开始输入!然后按tab只有空格出现没有html格式出现3. JavaScript如何循序渐进,有效的学习?看不下去怎么办?4. 学html时,点“运行实例”点“提交”,右边的白框框没任何反应。5. ubuntu - mysql 连接问题6. 求解决方法:Parse error: syntax error, unexpected7. javascript - 怎么才能有效的防止网页被盗?8. mysql - ubuntu开启3306端口失败,有什么办法可以解决?9. 老师 我有一个问题,就是display:block,10. python爬虫 - scrapy使用redis的时候,redis需要进行一些设置吗?

网公网安备