android - umbral - vistas en sharepoint 2013
agrupe filas similares en la vista de lista en función de su contenido (3)
Tengo una vista de lista que muestra un conjunto de filas, cada fila se puede hacer clic. ahora, deseo agrupar filas de tipos similares debajo de un encabezado, algo así como se muestra en la figura (burlado). algunos podrían aconsejar o proporcionar un enfoque para esto.
Si su adaptador está basado en Cursor entonces use SectionCursorAdapter 2.0 , no puede hacer simplier:
public class MyAdapter extends SectionCursorAdapter<String, MyAdapter.SectionViewHolder, MyAdapter.ItemViewHolder> {
public MyAdapter(Context context, Cursor cursor) {
super(context, cursor, 0, R.layout.item_section, R.layout.item_title);
}
// this method will fullfill your wishes
@Override protected String getSectionFromCursor(Cursor cursor) {
return cursor.getString(cursor.getColumnIndexOrThrow("group"));
}
// replace getView/bindView/newView
// --------------------------------------------
@Override protected SectionViewHolder createSectionViewHolder(View sectionView, String section) {
return new SectionViewHolder(sectionView);
}
@Override protected ItemViewHolder createItemViewHolder(Cursor cursor, View itemView) {
return new ItemViewHolder(itemView);
}
@Override protected void bindSectionViewHolder(int position, SectionViewHolder sectionViewHolder, ViewGroup parent, String section) {
sectionViewHolder.titleView.setText(section);
}
@Override protected void bindItemViewHolder(ItemViewHolder itemViewHolder, Cursor cursor, ViewGroup parent) {
itemViewHolder.title = cursor.getString(cursor.getColumnIndexOrThrow("title"));
itemViewHolder.titleView.setText(itemViewHolder.text);
}
// view holders
// --------------------------------------------
public class SectionViewHolder extends ViewHolder {
public TextView titleView;
public SectionViewHolder(View rootView) {
super(rootView);
titleView = findWidgetById(R.id.sectionText);
}
}
public class ItemViewHolder extends ViewHolder {
public String title;
public TextView titleView;
public ItemViewHolder(View rootView) {
super(rootView);
titleView = findWidgetById(R.id.titleText);
}
}
}
Agregue un parámetro adicional para la ''categoría'' de cada elemento de vista de lista. Luego implementa algo como ''StickyListHeaders'' basado en ese parámetro.
He usado AmazingListView en el pasado con cierta efectividad.
Es una implementación del enfoque sugerido por la aplicación Google Schedule I / O.
Cosas que me gustan de esto:
- Encabezados adhesivos
- Paginación con carga lenta
De nota:
- Es un proyecto basado en SVN
- Debes incluirlo como una biblioteca
- Es más difícil usarlo con Android Studio; mucho más fácil con ADT.
( Acabo de publicar una pregunta sobre esto recientemente )
Aquí hay una imagen de la página principal del proyecto: