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