Android: separador personalizado (o incluso elemento) en ListView depening en el contenido del elemento
Tengo un ListView con los artículos que contienen la información sobre lugares con una calificación y la distancia a la localización actual.
Los elementos se clasifican en grupos:
- El conjunto de Android View.GONE no libera espacio en listview
- Filtro personalizado de ListView da el elemento incorrecto seleccionado cuando se filtra
- ListView de Android con casilla de verificación Eliminar / obtener ID de fila
- ¿Cómo el ajuste baselineAligned a false mejora el rendimiento en LinearLayout?
- Rellene Listview desde el origen de la matriz de cadenas, con un String ArrayAdapter
- Grupo 1: dentro de 500m
- Grupo 2: 500m – 1km
- Grupo 3: 1km – 1,5km
- …
Con estos grupos los ítems se clasifican según su clasificación.
Ahora pongo estos artículos a través de mi adaptador personalizado (extensión de BaseAdapter
) en el ListView
, que funciona perfectamente.
Sin embargo, lo que me gustaría hacer es poner un separador antes de cada primer elemento de cada grupo. Este separador puede ser un TextView
dice por ejemplo 500m – 1km seguido de todos los elementos ListView
de ese grupo.
¿Alguna idea de cómo realizar esto?
- Sincronizar 2 ListViews desplazándose
- Cómo desactivar la selección resaltada en listview xamarin.forms en android
- Posición incorrecta de elementos después de usar un customAdapter
- Pie de página debajo de la vista de lista fija en la parte inferior de la pantalla
- Haga clic en el elemento de lista de un ListView no responde
- Cómo controlar ListView con el patrón MVP para Android
- Android - Navegación personalizada
- ListView OnItemClick listner no funciona en fragmento
Aquí hay una implementación que hace exactamente lo que usted describe.
Ese es GPLv3, porque se deriva de esta implementación , que era GPLv3.
También puedes usar mi MergeAdapter
para esto, que tiene la ventaja de ser Apache License 2.0. Simplemente entregue un conjunto alternativo de TextView
s y Adapter
s que contengan el contenido de cada sección.
O, puede echar un vistazo a todos estos y rodar sus comportamientos en su clase de Adapter
existente. El truco consiste en devolver los encabezados TextView
en el lugar correcto, e implementar adecuadamente métodos como getViewTypeCount()
, getItemViewType()
, areAllItemsEnabled()
y isEnabled()
.
Aquí hay una implementación aún más agradable, inspirada en la vista de lista de sección de iOS: http://code.google.com/p/android-section-list/ . Lo más importante es que el encabezado de sección permanece visible aunque se desplace la sección hacia abajo.