1

我有一个可扩展列表视图,父级有 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()); 
4

0 回答 0