• Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Entre para seguir isso  
Seguidores 0
JDaniel630

Problemas com CheckBox no RecyclerView em Android Studio

2 posts neste tópico

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

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

#2   Postado (editado)

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.

Editado por TwistedSoul

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!


Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.


Entrar agora
Entre para seguir isso  
Seguidores 0