Recyclerview适配器未返回正确的可见性

时间:2018-04-17 22:19:40

标签: android android-studio android-recyclerview

我的recyclerview存在问题。 基本上,它的适配器是一个分类列表,当满足某个条件时,项目名称左侧会出现一个彩色勾号。

我的问题是,这个勾号有时会随机出现在它不应出现的项目上。通常当我向下滚动列表时,然后回到顶部。

RecyclerView with the correct ticks

After i scroll down and back up, the second item gets the tick, although it shouldn't

这是适配器的onBindViewHolder:

@Override
public void onBindViewHolder(MyViewHolder holder, final int position) { 
[...]
SharedPreferences prefcorsi = contesto.getSharedPreferences(Costanti.ISCRIZIONECORSI,Context.MODE_PRIVATE);
    SharedPreferences prefgruppi = contesto.getSharedPreferences(Costanti.ISCRIZIONEGRUPPI,Context.MODE_PRIVATE);

    if (evento.getIdgruppo() > 0 && prefgruppi.getInt(Integer.toString(evento.getIdgruppo()),0) > 0) {
        holder.checkiscritto.setVisibility(View.VISIBLE);
        Log.w("Iscritto gruppo adapter",evento.getTitolo());
    } else if (prefcorsi.getInt(Integer.toString(evento.getId()),0) > 0 && evento.getStatoiscrizione() > 0) {
        holder.checkiscritto.setVisibility(View.VISIBLE);
        Log.w("Iscritto da adapter",evento.getTitolo());
    }

我100%肯定这不是其他地方的问题,因为 1)Log.w没有显示有缺陷的项目,它只是在它旁边出现。 2)Sharedpreferences和object的getter返回正确的值。

这可能是一个错误,或者可能需要处理的项目太多了吗?

0 个答案:

没有答案