Ir ao conteúdo

Posts recomendados

Postado

Galera sou novo no fórum e também no android, eu estou fazendo um app de animes para entregar como projeto na prova parcial da faculdade, e eu estou usando o RecyclerView para gerar os episódios dos animes, porém, quando eu rodo o app e clico por exemplo no checkbox do episodio 1 o episodio 11 também é clicado assim como o checkbox do 2 com 12, 3 com 13, como resolver isso ?

 

Meu Adapter:

package grcseries.com.br.grcseries.controle;

import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.Toast;

import java.util.ArrayList;
import java.util.List;

import grcseries.com.br.grcseries.R;
import grcseries.com.br.grcseries.variaveis.Catalogo;

public class TelaAnimesAdapterSecundaria extends RecyclerView.Adapter {
    private final List<Catalogo> lista;
    private final Context contexto;

    public TelaAnimesAdapterSecundaria(ArrayList<Catalogo> lista, Context contexto) {
        this.lista = lista;
        this.contexto = contexto;
    }

    @Override
    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(contexto).inflate(R.layout.layout_episodio, parent,false);
        return new TelaAnimesHolderSecundaria(view);
    }

    @Override
    public void onBindViewHolder(final RecyclerView.ViewHolder holder, int position) {
        final TelaAnimesHolderSecundaria hd2 = (TelaAnimesHolderSecundaria) holder;
        final int pos = position;
        //position = position + 1;
        //hd2.ckbEpisodio.setText("Episódio " + position);

        hd2.ckbEpisodio.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                CheckBox cb = (CheckBox) v;
                Catalogo contact = (Catalogo) cb.getTag();

                contact.setSelected(cb.isChecked());
                lista.get(pos).setSelected(cb.isChecked());

                Toast.makeText(v.getContext(), "Clicked on Checkbox: " + cb.getText() + " is " + cb.isChecked(), Toast.LENGTH_LONG).show();
            }
        });
    }

    @Override
    public int getItemCount() {
        return (lista!=null)?lista.size():0;
    }

}

 

Meu Holder:

package grcseries.com.br.grcseries.controle;

import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.CheckBox;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;

import grcseries.com.br.grcseries.R;

public class TelaAnimesHolderSecundaria extends RecyclerView.ViewHolder {

    final ImageView imgCapa;
    final TextView txtTitulo;
    final TextView txtSinopse;
    final TextView txtTemporada;
    final CheckBox ckbEpisodio;

    public TelaAnimesHolderSecundaria(View itemView) {
        super(itemView);

        imgCapa = (ImageView) itemView.findViewById(R.id.imgCapa);
        txtTitulo = (TextView) itemView.findViewById(R.id.txtTitulo);
        txtSinopse = (TextView) itemView.findViewById(R.id.txtSinopse);
        txtTemporada = (TextView) itemView.findViewById(R.id.txtTemporada);
        ckbEpisodio = (CheckBox) itemView.findViewById(R.id.ckbEpisodio);
    }
}

 

Postado

Como está sendo gerado os IDs dos episódios? O que faz a classe R?

 

Talvez algo de errado com os valores de Catalogo?

 

Depurando o click em um checkbox, você vai saber o que ocorre para que mais de um checkbox seja marcado ao mesmo tempo. O erro (pelo menos não achei nada aqui, já que eu brinco pouquíssimo com Android) deve estar em outra ou outras classes.

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!