search

Home  >  Q&A  >  body text

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);
        }
    //...
    }
    

PHP中文网PHP中文网2771 days ago688

reply all(2)I'll reply

  • 阿神

    阿神2017-04-17 17:24:44

    Add:

    to the beginning of RecyclerView是用于重用的,也就是说你的每一个条目,使用的有可能是前面已经使用过的布局对象。所以你在onBindChildViewHolder里应该对某些View的显示与否做一下初始化设定。
    你的代码里,我看到了你仅仅在某种情况下隐藏了一个View,但是却没有初始化它的显示与否,这样可能由于上一次显示时是GONE的,这一次你设置的数据,但是因为没有设置VISIBLE,所以就导致显示不出来了。
    你的问题应该就是这个,建议你在onBindChildViewHolder

    holder.childAlbumNum.setVisibility(View.VISIBLE);

    reply
    0
  • PHP中文网

    PHP中文网2017-04-17 17:24:44

    I don’t see what’s wrong with that number1?

    reply
    0
  • Cancelreply