Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
20 / 20 / 7
Регистрация: 18.02.2015
Сообщений: 304
1

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

20.04.2016, 23:04. Просмотров 1097. Ответов 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 минуты
Актуально.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.04.2016, 23:04
Ответы с готовыми решениями:

Обновление состояния ExpandableListView
Есть кнопка при нажатии на которою в БД добавляется запись. Все записи с БД отображаются в...

Обновление базы и ошибка: Обновление невозможно. База данных или объект доступны только для чтения.
Помогите пожалуйста! asp не может обновить базу. Про ошибку говорит Microsoft OLE DB Provider for...

Обновление данных в модели Linq to SQL при обновлении данных в БД
Подскажите новичку. Есть база данных, в приложении настроена работа с БД с помощью Linq to SQL. Из...

Автоматическое обновление данных ADOTable при добавлении данных другим экземляром программы
С моей программой работает около 3-4 экземляров программы. Одна таблица работает с помощью...

1
12 / 12 / 7
Регистрация: 04.04.2016
Сообщений: 51
21.04.2016, 09:32 2
Лучший ответ Сообщение было отмечено Appi как решение

Решение

Тебе нужно просто изменять данные в 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++;
        }
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.04.2016, 09:32

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Обновление данных из базы данных в клиентах в реальном времени
Здравствуйте, уважаемые коллеги! Как сделать то, что описано в теме? Расскажу с самого начала...

Обновление одних и тех-же данных в двух базах данных
Всем здрасте, как варианты есть для того чтобы обновить данные на двух серверах сразу тоесть когда...

Обновление данных dataGridView в потоке ошибка BindingSource не может быть источником данных для самого себя
Изучаю потихоньку C#, требуется в отдельном потоке обновлять данные dataGridView. Если не выбирать...

Обновление данных в таблице с добавлением новых данных
Уважаемые знатоки, есть проблема с которой сам разобраться не могу, помогите пожалуйста. Вопрос...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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