包含多个textview的expandablelistview

时间:2012-06-05 07:31:54

标签: android expandablelistview expandablelistadapter

我有一个expandablelistview,父母有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()); 

0 个答案:

没有答案