ExpandableListView mit mehreren Layouts

Ich entschuldige mich für mein Englisch, aber mit Google übersetzt. Ich benötige Hilfe für meine Anwendung. Ich verwende eine ExpandableListView mit 3 verschiedenen Layouts, habe jedoch Probleme, die ich in verschiedenen Foren nicht beantwortet habe. Grundsätzlich, wenn die Methode getChildView () prüft, ob convertView null ist, versetze ich alle Layouts oder wiederhole sie sogar mehrmals. Wenn ich diese Prüfung nicht durchführe, wird das Layout so angezeigt, wie es sollte, aber die Werte im EditText werden gelöscht, wenn ich auf eine andere Gruppe klicke oder wenn Sie die Liste so lange überfliegen, bis das Layout mit dem EditText nicht mehr angezeigt wird. Ich hoffe, ich war klar genug und ich hoffe, dass die Antworten ebenso klar sind. Leider war ich schon im Internet, konnte aber die gesuchte Antwort nicht finden. Vielen Dank im Voraus an diejenigen, die mir helfen werden

    public View getChildView(int groupPosition, final int childPosition,
                    boolean isLastChild, View convertView, ViewGroup parent) {

            View view = convertView;
            ViewHolder holder;

            if (view == null) {
                    holder = new ViewHolder();

                    if (groupPosition == 0) {
                            convertView = infalInflater.inflate(R.layout.adv_item, null);
                            holder.btn1 = (ImageButton) convertView
                                            .findViewById(R.id.button1);
                            holder.btn2 = (ImageButton) convertView
                                            .findViewById(R.id.button2);
                            holder.btn3 = (ImageButton) convertVie,w
                                            .findViewById(R.id.button3);
                            holder.et1 = (EditText) convertView.findViewById(R.id.editText1);
                            holder.et2 = (EditText) convertView.findViewById(R.id.editText2);
                            holder.et3 = (EditText) convertView.findViewById(R.id.editText3);
                            holder.et4 = (EditText) convertView.findViewById(R.id.editText4);
                            holder.et5 = (EditText) convertView.findViewById(R.id.editText5);
                            holder.et6 = (EditText) convertView.findViewById(R.id.editText6);
                            holder.check_sc1 = (CheckBox) convertView
                                            .findViewById(R.id.item_check_sc1);
                            holder.check_sc2 = (CheckBox) convertView
                                            .findViewById(R.id.item_check_sc2);
                            holder.check_sc3 = (CheckBox) convertView
                                            .findViewById(R.id.item_check_sc3);
                            holder.check_oo = (CheckBox) convertView
                                            .findViewById(R.id.item_check_oo);
                            convertView.setTag(holder);
                    }
                    if (groupPosition == 1) {
                            convertView = infalInflater.inflate(R.layout.visual_item, null);
                    }
                    if (groupPosition == 2) {
                            convertView = infalInflater.inflate(R.layout.routes_item, null);
                    }
            } else {
                    holder = (ViewHolder) convertView.getTag();
            }
            return convertView;
    }

Antworten auf die Frage(2)

Ihre Antwort auf die Frage