찾다

 >  Q&A  >  본문

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일 전683

모든 응답(2)나는 대답할 것이다

  • 阿神

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

    RecyclerView은 재사용을 위한 것입니다. 즉, 각 항목이 이전에 사용된 레이아웃 개체를 사용할 수 있음을 의미합니다. 따라서 onBindChildViewHolder에 특정 View을 표시할지 여부를 초기화해야 합니다.
    귀하의 코드에서 특정 상황에서만 View을 숨기고 표시를 초기화하지 않는 것을 확인했습니다. 이는 마지막으로 표시한 시간이 GONE였기 때문일 수 있습니다. 설정되어 있으나 VISIBLE이 설정되어 있지 않아 표시할 수 없습니다.
    귀하의 질문은 다음과 같습니다. onBindChildViewHolder 시작 부분에

    을 추가하는 것이 좋습니다. 으아아아

    회신하다
    0
  • PHP中文网

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

    그 숫자에 무슨 문제가 있는지 모르겠습니다 1?

    회신하다
    0
  • 취소회신하다