我有一个可扩展列表视图,父级有 4 个文本视图,子级也有 4 个文本视图。
我知道如果我在父节点上只有 1 个元素,在子节点上只有 1 个元素,我该如何填充,但我没有 4 个元素。
我想我必须将所有数据放在单独的数组列表中。
numerosServicios = new ArrayList<String>();
profesiones = new ArrayList<String>();
direcciones = new ArrayList<String>();
fechasCaduca = new ArrayList<String>();
tipos = new ArrayList<String>();
diasEnCurso = new ArrayList<String>();
fechasProximasCitas = new ArrayList<String>();
estados = new ArrayList<String>();
但我不知道我应该如何制作适配器。我看到了这段代码,但我不明白。
请问有人有例子吗?谢谢
编辑
我找到了一个“解决方案”:
private List<? extends List<? extends Map<String, ?>>> creaListadeHijos() {
ArrayList resultado_hijo = new ArrayList();
for(int i=0;i<=ArrayServicios.size();i++){
HashMap hijo = new HashMap();
hijo.put("tipo", tipos.get(i));
hijo.put("diasEnCurso", diasEnCurso.get(i));
hijo.put("estado", estados.get(i));
hijo.put("fechaProCita", fechasProximasCitas.get(i));
resultado_hijo.add(hijo);
}
return (List)resultado_hijo; }
private List<? extends Map<String, ?>> creaListaDeGrupos() {
ArrayList resultado_padre = new ArrayList();
for(int i=0;i<=ArrayServicios.size();i++){
HashMap padre = new HashMap();
padre.put("numero_servicio", numerosServicios.get(i));
padre.put("profesion", profesiones.get(i));
padre.put("direccion", direcciones.get(i));
padre.put("fecha_cad", fechasCaduca.get(i));
resultado_padre.add(padre);
}
return (List)resultado_padre;
}
SimpleExpandableListAdapter expListAdapter = new SimpleExpandableListAdapter(
contexto,
creaListaDeGrupos(),
R.layout.linea_padre,
new String[] { "numero_servicio","profesion","direccion","fecha_cad" },
new int[] { R.id.tvServicio,R.id.tvProfesion,R.id.tvDireccion,R.id.tvDiasEnCurso},
creaListadeHijos(),
R.layout.linea_hija,
new String[] { "tipo", "diasEnCurso","estado","fechaProCita" },
new int[] { R.id.tvTipo , R.id.tvDiasEnCurso, R.id.tvEstado, R.id.tvFechaProximaCita}
);
setListAdapter( expListAdapter );
registerForContextMenu(getExpandableListView());