Olá, como faço para pegar informações de um objeto através da ação do click de um toogle button? No curso é mostrado como obter informações do objeto através do click na view holder, mas gostaria de saber qual em qual holder e as informações desse objeto para ele ser inserido en outra recyclerview. Desde já agradeço a atenção.
public class ListaPratosAvaliacaoAdapter extends RecyclerView.Adapter<ListaPratosAvaliacaoAdapter.PratoViewHolder> {
private final Context context;
private final List<PratoTipico> pratosAvaliacao;
private OnItemClickListener onItemClickListener;
public ListaPratosAvaliacaoAdapter(Context context, List<PratoTipico> pratos) {
this.context = context;
this.pratosAvaliacao = pratos;
}
public void setOnItemClickListener(OnItemClickListener onItemClickListener){
this.onItemClickListener = onItemClickListener;
}
@NonNull
@Override
public ListaPratosAvaliacaoAdapter.PratoViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View viewCriada = LayoutInflater.from(context)
.inflate(R.layout.item_prato_avaliacao,parent,false);
return new PratoViewHolder(viewCriada);
}
@Override
public void onBindViewHolder(@NonNull PratoViewHolder holder, int position) {
PratoTipico prato = pratosAvaliacao.get(position);
holder.vincula(prato);
}
@Override
public int getItemCount() {
return pratosAvaliacao.size();
}
class PratoViewHolder extends RecyclerView.ViewHolder{
private final TextView titulo;
private final TextView descricao;
private PratoTipico prato;
public PratoViewHolder(@NonNull final View itemView) {
super(itemView);
titulo = itemView.findViewById(R.id.item_prato_nome_avaliacao);
descricao = itemView.findViewById(R.id.item_prato_descricao_avaliacao);
ToggleButton toggleButton = itemView.findViewById(R.id.button_favorite);
toggleButton.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
int posicao = itemView.getId();
if (isChecked){
buttonView.
}else{
System.out.println("not checked" + posicao);
}
}
});
}
public void vincula(PratoTipico prato){
this.prato = prato;
titulo.setText(prato.getNome());
descricao.setText(prato.getDescricao());
}
}
}
public class ListaPratosAvaliacao extends AppCompatActivity {
PratoTipicoServices pratoTipicoServices = new PratoTipicoServices(this);
private ListaPratosAvaliacaoAdapter adapter;
private ToggleButton toggleButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_lista_pratos_avaliacao);
configuraRecyclerviewAvaliacao();
}
private void configuraRecyclerviewAvaliacao() {
RecyclerView listaPratosAvaliacao = findViewById(R.id.lista_pratos_avaliacao_recyclerview);
setAdapterAvaliacao(listaPratosAvaliacao);
}
private void setAdapterAvaliacao(RecyclerView recyclerView) {
adapter = new ListaPratosAvaliacaoAdapter(this,geraListaFavoritos());
recyclerView.setAdapter(adapter);
}
private List<PratoTipico> geraListaFavoritos(){return pratoTipicoServices.getLista();}
}