Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Appi
20 / 20 / 6
Регистрация: 18.02.2015
Сообщений: 300
#1

ExpandableListView обновление данных - Android

20.04.2016, 23:04. Просмотров 166. Ответов 1
Метки нет (Все метки)

Каким образом мне обновить его?

Чтобы я изменил данные массива и обновил.

Объявили переменные
public class MainActivity
Java
1
2
3
4
5
6
7
8
9
10
11
12
    String[] groups = new String[] {"Сервер #1. ", "Сервер #2. ", "Сервер #3. ","Сервер #4. "};
    String[] server1 = new String[] {"Статус:", "Миссия:", "Игроков:", "Карта:", "Версия:"};
    String[] server2 = new String[] {"Статус:", "Миссия:", "Игроков:", "Карта:", "Версия:"};
    String[] server3 = new String[] {"Статус:", "Миссия:", "Игроков:", "Карта:", "Версия:"};
    String[] server4 = new String[] {"Статус:", "Миссия:", "Игроков:", "Карта:", "Версия:"};
 
 
    ArrayList<Map<String, String>> groupData;
    ArrayList<Map<String, String>> childDataItem;
    ArrayList<ArrayList<Map<String, String>>> childData;
    Map<String, String> m;
    ExpandableListView elvMain;
в On Create

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
        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 srv1 : server1) {
            m = new HashMap<String, String>();
            m.put("srvName", srv1);
            childDataItem.add(m);
        }
        // добавляем в коллекцию коллекций
        childData.add(childDataItem);
 
        // создаем коллекцию элементов для второй группы
        childDataItem = new ArrayList<Map<String, String>>();
        for (String srv2 : server2) {
            m = new HashMap<String, String>();
            m.put("srvName", srv2);
            childDataItem.add(m);
        }
        childData.add(childDataItem);
 
        // создаем коллекцию элементов для третьей группы
        childDataItem = new ArrayList<Map<String, String>>();
        for (String srv3 : server3) {
            m = new HashMap<String, String>();
            m.put("srvName", srv3);
            childDataItem.add(m);
        }
        childData.add(childDataItem);
 
        childDataItem = new ArrayList<Map<String, String>>();
        for (String srv4 : server4) {
            m = new HashMap<String, String>();
            m.put("srvName", srv4);
            childDataItem.add(m);
        }
        childData.add(childDataItem);
 
        // список аттрибутов элементов для чтения
        String childFrom[] = new String[] {"srvName"};
        // список 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.evlMain);
        elvMain.setAdapter(adapter);
Добавлено через 9 часов 43 минуты
Актуально.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.04.2016, 23:04     ExpandableListView обновление данных
Посмотрите здесь:

Android Прослушать ExpandableListView
Android ExpandableListView
Обработчик нажатия в ExpandableListView Android
Android Expandablelistview совместно с listview
Android ExpandableListView не скролит
Свёрнутый список в ExpandableListView Android
Android ExpandableListView - cannot inflate class
ExpandableListView Android
Android Обновление состояния ExpandableListView
OnClick ExpandableListView Android
Android ExpandableListView настройка item
ExpandableListView внутри ListFragment Android

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Frozik6k
12 / 12 / 7
Регистрация: 04.04.2016
Сообщений: 50
21.04.2016, 09:32     ExpandableListView обновление данных #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Тебе нужно просто изменять данные в childData, они автоматически будут меняться и на ExpandableListView, например вот так:
Java
1
2
3
4
5
6
7
8
String[] server3_1 = new String[] {"Статус: Хорошо", "Миссия: первая", "Игроков: 2", "Карта: 4", "Версия: 1.3"};
        childDataItem = childData.get(2);
        
        int i = 0;
        for (Map<String, String> map : childDataItem){
            map.put("srvName", server3_1[i]);
            i++;
        }
Yandex
Объявления
21.04.2016, 09:32     ExpandableListView обновление данных
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru