2011-01-09 13 views
13

Estoy un poco perdido en esto sobre cómo producir secciones en un ListView cuando se usan ambos Cursores y un CustomCursorAdapter personalizado.SimpleCursorAdapter with Sections en Android

Muchos de los documentos hacen referencia al uso de getView() etc, o la creación de varios adaptadores y la adición de encabezados de sección.

Pero todos estos parecen basarse en BaseAdapters, ListAdapters y ArrayAdapters etc.

ha tratado cualquiera con algo similar con anterioridad?

Si no, ¿algún consejo sobre cómo hacer que esto funcione?

Gracias Simon

Respuesta

9

me siguió this tutorial y funcionó bastante bien. El código le permite utilizar cualquier tipo de Adapter, por lo que funciona muy bien con ArrayAdapter o CursorAdapter.

+0

Gracias por eso. Tuve que entender el hecho de que necesitaba usar el SeparatedListAdapter, esencialmente como un envoltorio para mis adaptadores personalizados existentes. – Simon

9

Si está usando un CursorAdapter, puede usar mi SectionCursorAdapter.

+0

Saludos, esto funcionó muy bien con SimpleCursorAdapters para tener secciones alfabéticas en mi ListView. Esto fue mucho más trabajo de lo que pensaba, ¡creo que SimpleCursorAdapter me echó a perder en su simplicidad! – georgiecasey

+0

No es eficiente para la base de datos SimpleCursorAdapter con una larga lista de elementos ya que tiene que iterar sobre todos los elementos para calcular el encabezado. Si el cursor se devuelve con una consulta GROUP BY, entonces es mucho mejor comparar el encabezado (el valor agrupado) del elemento actual en comparación con los artículos anteriores y siguientes para determinar si tenemos una sección nueva o no. –

+0

Es posible que desee utilizar AlphabetIndexer para calcular secciones. – ycagri

2

Otra muy buena que está en desarrollo activo es SectionCursorAdapter y es compatible con gradle. El creador de la misma también prometió que se actualizará para admitir RecyclerView cuando se lance oficialmente. También puede consultar la publicación del blog al respecto en ToastDroid

Cuestiones relacionadas