FavoritePath
Cargando...
Buscando...
Nada coincide
ListRutasAdapter.java
1package uo269509.favoritepath.adapter;
2
3import android.view.LayoutInflater;
4import android.view.View;
5import android.view.ViewGroup;
6import android.widget.ImageView;
7import android.widget.TextView;
8
9import androidx.core.content.ContextCompat;
10import androidx.recyclerview.widget.RecyclerView;
11
12import java.util.List;
13
14import uo269509.favoritepath.R;
15import uo269509.favoritepath.modelos.Ruta;
16
17
18public class ListRutasAdapter extends RecyclerView.Adapter<ListRutasAdapter.RutaViewHolder> {
19
20 private List<Ruta> rutas;
21 private final OnItemClickListener listener;
22
23 public ListRutasAdapter(List<Ruta> rutas, OnItemClickListener listener) {
24 this.rutas = rutas;
25 this.listener = listener;
26 }
27
34 @Override
35 public RutaViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
36 View itemView = LayoutInflater.from(parent.getContext()).inflate(R.layout.linear_recycler_view_ruta, parent, false);
37 return new RutaViewHolder(itemView);
38 }
39
45 @Override
46 public void onBindViewHolder(RutaViewHolder holder, int position) {
47 if(position % 2 == 0){
48 holder.itemView.setBackground(ContextCompat.getDrawable(holder.itemView.getContext(), R.drawable.card_shape_yellow));
49 }
50 Ruta ruta = rutas.get(position);
51 holder.bindUser(ruta, listener);
52 }
53
58 @Override
59 public int getItemCount() {
60 return rutas.size();
61 }
62
63 public interface OnItemClickListener{
64 void onItemClick(Ruta item, boolean delete);
65 }
66
67 public static class RutaViewHolder extends RecyclerView.ViewHolder {
68
69 private TextView titulo;
70 private TextView descripcion;
71 private ImageView delete;
72
73 public RutaViewHolder(View itemView){
74 super(itemView);
75 titulo = itemView.findViewById(R.id.nombreLabel);
76 descripcion = itemView.findViewById(R.id.descripcionLabel);
77 delete = itemView.findViewById(R.id.imagenBorrar);
78 }
79
80 public void bindUser(final Ruta ruta, final OnItemClickListener listener){
81 titulo.setText(ruta.getTitulo());
82 descripcion.setText(ruta.getDescripcion());
83 itemView.setOnClickListener((v) -> {
84 listener.onItemClick(ruta, false);
85 });
86 delete.setOnClickListener((v) -> {
87 listener.onItemClick(ruta, true);
88 });
89 }
90 }
91}
RutaViewHolder onCreateViewHolder(ViewGroup parent, int viewType)
void onBindViewHolder(RutaViewHolder holder, int position)