Múltiples elementos de RecyclerView en un CardView
Estoy intentando crear varios elementos de RecyclerView en cada elemento de CardView como hace esta aplicación:
- Fragmento de mapas de Google para Android en RecyclerView.ViewHolder
- Cómo obtener la posición de View en onCreateViewHolder
- La vista en el visor no se actualiza (no toma altura)
- ViewHolder.getAdapterPosition () devuelve siempre -1
- SetAlpha () en onBindView en RecyclerView no funciona en la primera pantalla
Yo había creado un cardview_item.xml que contiene el elemento de conjunto de datos (la coincidencia en este ejemplo)
Y un cardview_title.xml que contiene el título de la tarjeta (la liga en este ejemplo).
Cardview_title.xml:
<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:card_view="http://schemas.android.com/apk/res-auto" android:layout_width="fill_parent" android:layout_height="88dp" card_view:cardCornerRadius="1dp" android:layout_margin="4dp"> <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content" > <TextView android:id="@+id/amount_title" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_marginEnd="5dp" android:layout_marginTop="5dp" android:gravity="center" android:layout_alignParentEnd="true" android:padding="5dp" android:text="@string/amount" android:textAllCaps="true" android:textSize="20sp" android:textColor="@android:color/black"/> . . . <TextView android:id="@+id/week_title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBottom="@id/amount_title" android:layout_alignTop="@id/amount_title" android:layout_alignParentStart="true" android:layout_marginStart="5dp" android:gravity="center" android:padding="5dp" android:textAllCaps="true" android:text="@string/week" android:textColor="@android:color/black" android:textSize="20sp" /> <View android:id="@+id/lineSeparator" android:layout_width="fill_parent" android:layout_height="1dp" android:layout_below="@id/week_title" android:background="@android:color/darker_gray"/> <include android:layout_width="wrap_content" android:layout_height="wrap_content" layout="@layout/cardview_item" android:layout_below="@+id/week_title" android:layout_centerHorizontal="true" /> </RelativeLayout>
El RecyclerView.Adapter que he extendido muestra cada elemento del conjunto de datos en cardview separado:
¿Cómo puedo implementar esto con el patrón de diseño RecyclerView, CardView y ViewHolder?
Cualquier ayuda será apreciada.
Gracias
- Los elementos de RecyclerView desaparecen después de cambiar entre fragmentos
- Cómo reutilizar objetos RecyclerView, adaptadores y soportes de visualización
- Cambiar el tamaño de una vista en OnLayoutChangeListener
- Anidado recylerview lag mientras que los primeros rollos y luego se desplaza suavemente?
- Recyclerview en un fragmento no muestra nada
- Cómo abrir fragmento de RecyclerView.Adapter <CardAdapter.ViewHolder>
- RecyclerView itemView OnGlobalLayoutListener no se dispara para todos los itemsViews
- Agregue el listener de clics al Generic RecyclerView Adapter
Recientemente implementé un patrón similar.
Un RecyclerView que tenga diferentes tipos de diseños o un número dinámico de elementos para cada elemento tendrá problemas de rendimiento ya que no podemos reutilizar las vistas con el patrón de ViewHolder.
Opción 1: Utilice un diseño de elemento reciclador con título y un diseño dinámico que infle los detalles de coincidencia dados. Pero el diseño dinámico no puede reutilizarse y, por lo tanto, obtendrá retrasos visibles mientras se desplaza.
Opción 2: Si puede decidir el número máximo de partidos para una liga, defina una tarjeta con el máximo número de partidos y ocultar los partidos según los datos de partido disponibles. Esto me ayudó a mejorar el rendimiento cuando lo comparas con el diseño único dinámico.
Opción 3: Combine las opciones 1 y 2. Utilice elementos de coincidencia estática junto con un elemento dinámico. Utilice el diseño dinámico sólo cuando sea necesario. Esto minimizará el número de veces que el diseño dinámico se va a inflar. Para que pueda ayudar a RecyclerView a reutilizar las vistas.
Espero que te ayude.
- Dígitos de Twitter: cómo comprobar si el usuario ya está registrado
- El archivo kcm de Android no parece funcionar. ¿Qué me estoy perdiendo?