RecyclerView는 캐시 된 (?) 하위 뷰를 계속 반복하고 onBindViewHolder를 찾지 않습니다.

특별한

모든 목록 항목에 ImageButton이있는 RecyclerView가 있습니다.이 이미지는 어댑터의 onBindViewHolder ()에서 정의합니다.

    int myVote = getMyVote();
    if (myVote != 0) {
        Log.d("dbg", myVote + "");
        holder.ratingButton.setImageResource(R.drawable.ic_star_grey600_36dp);
    }

따라서 ratingButton은 목록 항목 레이아웃의 오른쪽 하단 모서리에있는 별표입니다. 조건 (myVote! = 0)이 충족되면 모양이 회색으로 채워집니다 (따라서 로그 레코드가 푸시됩니다).

문제는 목록을 아래로 스크롤하면 로그 창에서 (올바른 목록 항목에 대해) 하나의 레코드 만 볼 수 있지만 다른 별이 채워지는 것을 볼 수 있다는 것입니다. 또한 버튼이 잘못 변경된이 목록 항목은 5 행마다 반복되므로 혼란 스럽습니다. 내가 변하면

mListView.setItemViewCacheSize (0);
반복 기간이 3으로 변경되므로 RecyclerView의 캐싱 및 재활용 메커니즘과 연결되어 있다고 가정 할 수 있습니다.

문제를 해결하도록 도와주세요. 감사!

올렉 오시 펜코

코드를 다음과 같이 변경하십시오.

if (myVote != 0) {
        Log.d("dbg", myVote + "");
        holder.ratingButton.setImageResource(R.drawable.ic_star_grey600_36dp);
    } else {
        holder.ratingButton.setImageResource(int another resource);
    }
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Sitemesh는 반환 된 뷰를 장식하지 않습니다.

분류에서Dev

ExpressJ는 프로덕션 모드에서 뷰를 캐시하지 않습니다.

분류에서Dev

VBA 코드는 정의 된 행을 삭제하기 위해 워크 시트를 반복하지 않습니다.

분류에서Dev

Django는 요청 된 뷰를 렌더링하지 않습니다.

분류에서Dev

찾기 : 정리는 지정된 경로를 무시하지 않습니다.

분류에서Dev

사용자 지정 RecyclerView 어댑터는 onBindViewHolder가 미리 정의 된 ViewHolder를 사용하도록 허용하지 않습니다.

분류에서Dev

Picasso는 앱 위젯에서 캐시 된 이미지에 데이터를 사용하고 있습니다.

분류에서Dev

Android Volley는 이미지를 캐시하지 않습니다.

분류에서Dev

전체 해시를 반복하지 않고 하위 해시에서 키 찾기

분류에서Dev

프로그래밍 방식으로 생성 된 뷰는 테마를 상속하지 않습니다.

분류에서Dev

Nginx는 캐시를 저장하지 않습니다.

분류에서Dev

Xamarin iOS SDK의 LoginManager는 AccessTokens를 캐시하지 않습니다.

분류에서Dev

Docker는 npm 설치를 캐시하지 않습니다.

분류에서Dev

JPA (이미 지속 된 객체)는 "연속 PERSIST로 표시되지 않은 관계를 통해 새 객체를 찾았습니다"를 제공합니다.

분류에서Dev

gdpr / 개인 정보 보호를 위반하지 않고 이메일 주소를 기반으로 내 시스템에서 삭제 된 사용자 계정을 식별하는 방법을 찾으려고합니다.

분류에서Dev

PHP 함수가 계속 경고를 표시하지만 실패하지는 않습니다.

분류에서Dev

iOS Firestore IsPersistenceEnabled는 기존 캐시 된 리스너 결과를 비활성화하지 않습니다.

분류에서Dev

Swift의 뷰 기반 NSTableView는 콘텐츠를 표시하지 않습니다.

분류에서Dev

캐시로 인해 작동하지 않는 마 젠토에서 무작위 평가를 받고 있습니다.

분류에서Dev

Laravel 캐시 된 뷰를 지우거나 재설정하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

집계 된 $ match는 mongodb에서 데이터를 반환하지 않습니다.

분류에서Dev

피카소는 첫 번째로드를 위해 캐시하지 않지만 두 번째는 괜찮습니다.

분류에서Dev

this.setState는 뷰 ReactJS 및 Ruby on Rails를 다시 렌더링하지 않습니다.

분류에서Dev

코드를 복제하지 않고 상속 된 엔티티를 관리하기 위해 Spring 서비스를 확장하는 방법이 있습니까?

분류에서Dev

Xamarin 솔루션이 존재하지 않는 클래스를 계속 찾습니다.

분류에서Dev

효과가 캐시 된 결과를 반환하면 Angualr 구성 요소가 마운트되지 않습니다.

분류에서Dev

한 번에 두 개의 Div를 교체하고 다른 두 개의 Div로 교체하고 설정된 시간 (초) 동안 계속 반복합니다.

분류에서Dev

UISeachController iOS 8을 사용할 때 분리 된 뷰 컨트롤러에 뷰 컨트롤러를 표시하지 않는 것이 좋습니다.

분류에서Dev

공간을 차지하지 않고 Android RecyclerView에서 계속 볼 수 있도록 뷰를 만드는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    Sitemesh는 반환 된 뷰를 장식하지 않습니다.

  2. 2

    ExpressJ는 프로덕션 모드에서 뷰를 캐시하지 않습니다.

  3. 3

    VBA 코드는 정의 된 행을 삭제하기 위해 워크 시트를 반복하지 않습니다.

  4. 4

    Django는 요청 된 뷰를 렌더링하지 않습니다.

  5. 5

    찾기 : 정리는 지정된 경로를 무시하지 않습니다.

  6. 6

    사용자 지정 RecyclerView 어댑터는 onBindViewHolder가 미리 정의 된 ViewHolder를 사용하도록 허용하지 않습니다.

  7. 7

    Picasso는 앱 위젯에서 캐시 된 이미지에 데이터를 사용하고 있습니다.

  8. 8

    Android Volley는 이미지를 캐시하지 않습니다.

  9. 9

    전체 해시를 반복하지 않고 하위 해시에서 키 찾기

  10. 10

    프로그래밍 방식으로 생성 된 뷰는 테마를 상속하지 않습니다.

  11. 11

    Nginx는 캐시를 저장하지 않습니다.

  12. 12

    Xamarin iOS SDK의 LoginManager는 AccessTokens를 캐시하지 않습니다.

  13. 13

    Docker는 npm 설치를 캐시하지 않습니다.

  14. 14

    JPA (이미 지속 된 객체)는 "연속 PERSIST로 표시되지 않은 관계를 통해 새 객체를 찾았습니다"를 제공합니다.

  15. 15

    gdpr / 개인 정보 보호를 위반하지 않고 이메일 주소를 기반으로 내 시스템에서 삭제 된 사용자 계정을 식별하는 방법을 찾으려고합니다.

  16. 16

    PHP 함수가 계속 경고를 표시하지만 실패하지는 않습니다.

  17. 17

    iOS Firestore IsPersistenceEnabled는 기존 캐시 된 리스너 결과를 비활성화하지 않습니다.

  18. 18

    Swift의 뷰 기반 NSTableView는 콘텐츠를 표시하지 않습니다.

  19. 19

    캐시로 인해 작동하지 않는 마 젠토에서 무작위 평가를 받고 있습니다.

  20. 20

    Laravel 캐시 된 뷰를 지우거나 재설정하는 가장 좋은 방법은 무엇입니까?

  21. 21

    집계 된 $ match는 mongodb에서 데이터를 반환하지 않습니다.

  22. 22

    피카소는 첫 번째로드를 위해 캐시하지 않지만 두 번째는 괜찮습니다.

  23. 23

    this.setState는 뷰 ReactJS 및 Ruby on Rails를 다시 렌더링하지 않습니다.

  24. 24

    코드를 복제하지 않고 상속 된 엔티티를 관리하기 위해 Spring 서비스를 확장하는 방법이 있습니까?

  25. 25

    Xamarin 솔루션이 존재하지 않는 클래스를 계속 찾습니다.

  26. 26

    효과가 캐시 된 결과를 반환하면 Angualr 구성 요소가 마운트되지 않습니다.

  27. 27

    한 번에 두 개의 Div를 교체하고 다른 두 개의 Div로 교체하고 설정된 시간 (초) 동안 계속 반복합니다.

  28. 28

    UISeachController iOS 8을 사용할 때 분리 된 뷰 컨트롤러에 뷰 컨트롤러를 표시하지 않는 것이 좋습니다.

  29. 29

    공간을 차지하지 않고 Android RecyclerView에서 계속 볼 수 있도록 뷰를 만드는 방법은 무엇입니까?

뜨겁다태그

보관