Abrir detalhes de um item no RecycleView
Bom dia,
Estou iniciando meu aprendizado autodidata em android, e cheguei ao ponto de listar meu itens do banco de dados usando um recycleView até ai ok, tudo funciona certo, gera a lista de anuncios no App
Agora me deparo com o fato de clicar em um item da lista deste recycle e exibir a activity de detalhes.
Pelo que li e exemplos que tentei implementar não consegui desenvolver um codigo simples que execute esta ação, pois cada um tem uma maneira de codificar esta chamada.
O meu recycleque gera a lista de itens esta desta forma:
O meu MainActivity contém estes dados que geram as info para a recycleView
@Override
public void onBindViewHolder(@NonNull AnunciosHolder holder, int position) {
holder.marcaAnuncio.setText(listaAnuncioImg.get(position).getMarca().toString());
holder.modeloAnuncio.setText(listaAnuncioImg.get(position).getModelo().toString());
holder.anoAnuncio.setText(listaAnuncioImg.get(position).getAno().toString());
holder.valorAnuncio.setText(listaAnuncioImg.get(position).getValor().toString());
if(listaAnuncioImg.get(position).getImagem() != null){
holder.idImagem.setImageBitmap(listaAnuncioImg.get(position).getImagem());
}else{
holder.idImagem.setImageResource(R.drawable.sem_foto);
}
holder.idImagem.setTag(position);
holder.idImagem.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
CRIEI ESTE METODO PARA FAZER A CHAMADA DA ACTIVITY QUE RECEBERA OS DADOS DO HOLDER QUE
SAO EXIBIDOS NA RECYCLE
NÃO SEI COMO CHAMAR A ACTIVITY E PASSAR AS INFORMAÇÕES A ELE
}
});
}
O meu **layout **que recebera os dados é o **activity_detail_anuncio.xml** image_view_detail e text_view_detail , que recebera o textView do holder.marcaAnucnio
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:id="@+id/linearLayout"
>
<ImageView
android:id="@+id/image_view_detail"
android:layout_width="match_parent"
android:layout_height="300dp"
android:src="@mipmap/ic_launcher" />
<TextView
android:id="@+id/text_view_detail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:layout_marginStart="16dp"
android:text="Likes: "
android:textSize="30sp" />
</LinearLayout>
O meu **Adapter **esta desta forma:
@Override
public void onBindViewHolder(@NonNull AnunciosHolder holder, int position) {
holder.marcaAnuncio.setText(listaAnuncioImg.get(position).getMarca().toString());
holder.modeloAnuncio.setText(listaAnuncioImg.get(position).getModelo().toString());
holder.anoAnuncio.setText(listaAnuncioImg.get(position).getAno().toString());
holder.valorAnuncio.setText(listaAnuncioImg.get(position).getValor().toString());
if(listaAnuncioImg.get(position).getImagem() != null){
holder.idImagem.setImageBitmap(listaAnuncioImg.get(position).getImagem());
}else{
holder.idImagem.setImageResource(R.drawable.sem_foto);
}
holder.idImagem.setTag(position);
holder.idImagem.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
}
});
}
@Override
public int getItemCount() {
return listaAnuncioImg.size();
}
public class AnunciosHolder extends RecyclerView.ViewHolder {
RelativeLayout parentLayout;
TextView codigoAnuncio,marcaAnuncio, modeloAnuncio, anoAnuncio, corAnuncio, valorAnuncio;
ImageView idImagem;
public AnunciosHolder(View itemView) {
super(itemView);
marcaAnuncio = (TextView) itemView.findViewById(R.id.marca);
modeloAnuncio = (TextView) itemView.findViewById(R.id.modelo);
anoAnuncio = (TextView) itemView.findViewById(R.id.ano);
corAnuncio = (TextView) itemView.findViewById(R.id.cor);
valorAnuncio = (TextView) itemView.findViewById(R.id.valor);
idImagem = itemView.findViewById(R.id.idImagem);
}
}
A Activity de **Detalhes **:
public class DetailsActivity extends AppCompatActivity {
ListView listView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_detail_anuncio);
}
}
Eu entendo que tenho que gerar o OnClickListener na MainActivity dentro do onBindViewHolder, mas não sei como apontar isso lá no Adapter e este chamar a outra activityDetais exibindo o meu XML com as informações do item clicadoDiscussão (0)
Carregando comentários...