Java.Android.Удаление группы и элемента с ExpandableListView

224
25 декабря 2017, 12:48

При нажатии на кнопку , нужно что бы удалялась группа со всем его элементами с ExpandableListView. Как это реализовать ?

Пример кода:

//Кнопочки
    Button add,new1,remove,delete;
    // названия компаний (групп)
    String[] groups = new String[] {"A", "B", "C"};
    // названия телефонов (элементов)
    String[] phonesHTC = new String[] {"d", "e", "f", "g"};
    String[] phonesSams = new String[] {"h", "i", "k", "l"};
    String[] phonesLG = new String[] {"m", "n", "o", "p"};
    // коллекция для групп
    ArrayList<Map<String, String>> groupData;
    // коллекция для элементов одной группы
    ArrayList<Map<String, String>> childDataItem;
    // общая коллекция для коллекций элементов
    ArrayList<ArrayList<Map<String, String>>> childData;
    // в итоге получится childData = ArrayList<childDataItem>
    // список атрибутов группы или элемента
    Map<String, String> m;
    ExpandableListView elvMain;

    /** Called when the activity is first created. */
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        add = (Button)findViewById(R.id.addCharacter);
        new1 = (Button)findViewById(R.id.addPerson);
        remove = (Button)findViewById(R.id.removeCharacter);
        delete = (Button)findViewById(R.id.removePerson);
        // заполняем коллекцию групп из массива с названиями групп
        groupData = new ArrayList<Map<String, String>>();
        for (String group : groups) {
            // заполняем список атрибутов для каждой группы
            m = new HashMap<String, String>();
            m.put("groupName", group); // имя компании
            groupData.add(m);
        }
        // список атрибутов групп для чтения
        String groupFrom[] = new String[] {"groupName"};
        // список ID view-элементов, в которые будет помещены атрибуты групп
        int groupTo[] = new int[] {android.R.id.text1};

        // создаем коллекцию для коллекций элементов
        childData = new ArrayList<ArrayList<Map<String, String>>>();
        // создаем коллекцию элементов для первой группы
        childDataItem = new ArrayList<Map<String, String>>();
        // заполняем список атрибутов для каждого элемента
        for (String phone : phonesHTC) {
            m = new HashMap<String, String>();
            m.put("phoneName", phone); // название телефона
            childDataItem.add(m);
        }
        // добавляем в коллекцию коллекций
        childData.add(childDataItem);
        // создаем коллекцию элементов для второй группы
        childDataItem = new ArrayList<Map<String, String>>();
        for (String phone : phonesSams) {
            m = new HashMap<String, String>();
            m.put("phoneName", phone);
            childDataItem.add(m);
        }
        childData.add(childDataItem);
        // создаем коллекцию элементов для третьей группы
        childDataItem = new ArrayList<Map<String, String>>();
        for (String phone : phonesLG) {
            m = new HashMap<String, String>();
            m.put("phoneName", phone);
            childDataItem.add(m);
        }
        childData.add(childDataItem);
        // список атрибутов элементов для чтения
        String childFrom[] = new String[] {"phoneName"};
        // список ID view-элементов, в которые будет помещены атрибуты элементов
        int childTo[] = new int[] {android.R.id.text1};
        SimpleExpandableListAdapter adapter = new SimpleExpandableListAdapter(
                this,
                groupData,
                android.R.layout.simple_expandable_list_item_1,
                groupFrom,
                groupTo,
                childData,
                android.R.layout.simple_list_item_1,
                childFrom,
                childTo);
        elvMain = (ExpandableListView) findViewById(R.id.elvMain);
        elvMain.setAdapter(adapter);
        delete.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View view) {

                switch (view.getId()) {
                    case R.id.removePerson:
                        break;
                }
            }
        });
    }
} 
READ ALSO
Как можно сделать часть текста, в ресурсе array жирным?

Как можно сделать часть текста, в ресурсе array жирным?

В ресурсах в файле arrays есть текст

232
Прокрутка до элемента внутри блока Jquery

Прокрутка до элемента внутри блока Jquery

Как сделать прокрутку именно внутри дива, а не по всей странице?

260
Как найти только те HTML элементы, в которых есть определенный элемент?

Как найти только те HTML элементы, в которых есть определенный элемент?

Есть кусок кода HTML страницы которую я парсю:

199