Recycleview muestra diferentes tipos de vistas
Estoy usando la recycleview para mostrar una lista. Me preguntaba cómo mostrar diferentes tipos de puntos de vista? Como en, diferentes ViewHolders int el mismo adaptador
¿En el listview simple utilizamos getItemViewType (), algo diferente en el recycleview?
- Dos RecyclerViews uno bajo el otro en un diseño
- Cómo abrir una actividad diferente en recicladorVer artículo onclick
- Desplazamiento Horizontal Liso de Recyclerview dentro de Scrollview
- No se puede usar getLayoutPosition () o getAdapterPosition () en RecyclerView
- ListSelector para RecyclerView en el dispositivo táctil libre (usando onKey Listener)
- ¿Cómo hacer que la vista de reciclador comience a agregar elementos desde el centro?
- Desactivar desplazamiento para posición en RecyclerView utilizando ItemTouchHelper.SimpleCallback
- Recyclerview desplazamiento pasado FAB
- No hay animación en la eliminación de artículos en RecyclerView
- Error al inflar la clase android.support.v7.widget.RecyclerView
- Recyclerview anidado se desplaza por sí mismo
- Cómo agregar Horizontal Recyclerview como un encabezado para Vertical Recyclerview?
- Algo raro sucede mientras se desplaza RecyclerView demasiado rápido
Para crear RecyclerView
con el tipo de vista múltiple simplemente implemente getItemViewType()
, dos ViewHolder
diferentes y cuide el parámetro onCreateViewHolder()
en onCreateViewHolder()
y bindViewHolder()
.
Ejemplo corto:
public class MultipleViewTypesAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> { private static final int VIEW_TYPE_FIRST = 0; private static final int VIEW_TYPE_SECOND = 1; class ViewHolderFirst extends RecyclerView.ViewHolder { ... } class ViewHolderSecond extends RecyclerView.ViewHolder { ... } @Override int getItemViewType(int position) { return position % 2; } @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { switch (viewType) { case VIEW_TYPE_FIRST: return new ViewHolderFirst(...); case VIEW_TYPE_SECOND: return new ViewHolderSecond(...); ... } } @Override public void bindViewHolder(RecyclerView.ViewHolder holder, int position) { switch (getItemViewType(position)) { case VIEW_TYPE_FIRST: ViewHolderFirst viewHolderFirst = (ViewHolderFirst)holder; ... break; case VIEW_TYPE_SECOND: ViewHolderSecond viewHolderSecond = (ViewHolderSecond)holder; ... break; ... } } }
- Problemas con https (sin certificado de igual) en android
- Android nuevo sistema de construcción (gradle) y aspectoj