RecyclerView
Creación de un RecyclerView
RecyclerView (punto 4.3 en Plataforma Moodle)
Creación de listas con RecyclerView:
El patrón ViewHolder y su uso en un RecyclerView:
Cómo usar un RecyclerView:
Uso de un ListView:
Using an ArrayAdapter with ListView
El patrón ViewHolder, qué es y cómo utilizarlo
How ListView’s recycling mechanism works
Uso de un RecyclerView:
Ejercicio: Crear un Recycler View de contactos
Notifying the Adapter
Código en MainActivity.java
addMoreButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // record this value before making any changes to the existing list int curSize = adapter.getItemCount(); // Add a new contact // contacts.add(0, new Contact("Barney", true)); contacts.add(curSize, new Contact("Barney", true)); // Notify the adapter that an item was inserted at position 0 adapter.notifyItemInserted(curSize); } });
Attaching Click Handlers using Listeners
Código en ContactsAdapter.java
/***** Creating OnItemClickListener *****/ // Define the listener interface public interface OnItemClickListener { void onItemClick(View itemView, int position); // Define listener member variable private OnItemClickListener listener; } // Define the method that allows the parent activity or fragment to define the listener public void setOnItemClickListener(OnItemClickListener listener) { this.listener = listener; } // Provide a direct reference to each of the views within a data item // Used to cache the views within the item layout for fast access public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener{ // Your holder should contain a member variable // for any view that will be set as you render a row public TextView nameTextView; public Button messageButton; // We also create a constructor that accepts the entire item row // and does the view lookups to find each subview public ViewHolder(View itemView) { // Stores the itemView in a public final member variable that can be used // to access the context from any ViewHolder instance. super(itemView); nameTextView = (TextView) itemView.findViewById(R.id.contact_name); messageButton = (Button) itemView.findViewById(R.id.message_button); messageButton.setOnClickListener(this); } @Override public void onClick(View view) { // Triggers click upwards to the adapter on click if (listener != null) { int position = getAdapterPosition(); if (position != RecyclerView.NO_POSITION) { listener.onItemClick(itemView, position); } } } }
Mejora: Utilizar ViewBinding en el adapter
Ejercicio: PersonalNote (en Plataforma Moodle)
Más información:
Cómo crear listas dinámicas con RecyclerView
RecyclerView + CardView – Part 1: Layouts
RecyclerView + CardView – Part 2: Adapter
Deja una respuesta
Lo siento, debes estar conectado para publicar un comentario.