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

Обработчик нажатия в ExpandableListView - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android С чего начать разработку приложений http://www.cyberforum.ru/android-dev/thread1238499.html
Раньше не разрабатывал под Android. Хочу сделать не сложное переложения но не знаю с чего начать и что почитать конкретно то что мне надо (не представляю как это правильно прогуглить). Суть: Переложения будет как стена на которой могут оставить запись любой (соответственно оно должно работать через интернет). Там будет кнопка добавить запись после нажатия вылазит окно где пользователь...
Android Очень тормозит эмулятор в эклипсе Привет Друзья! Начал изучать Андроид, пока на стадии настройки среды выполнения. Проблема: -скачал эклипс специально для разработки под андроид со встроенным эмулятором, выделил памяти 1 Гб, поставил галочку Host CPU, но он очень тормозит - слайдшоу. До такой степени что приложения из примеров отказываются запускаться. Скромная машинка: і3 2х2.3GHz, оперативки 4Гб. Видяха 2Гб. Как... http://www.cyberforum.ru/android-dev/thread1238492.html
Android Чтение русских символов. Отрицательные значения у символов
Добрый вечер. Считую файл .txt. Но русские буквы получают отрицательное значение. И в итоге при попытке перевести в String не распознаются. Например, "с" = 15. Подскажите как исправить? private void readFile(File file, String newDictionaryName) { int length = (int) file.length(); byte bytes = new byte; try { FileInputStream in = new...
Android Android и ActionScript
Здравствуйте. Есть определенные задачи для которых подходит флеш. У меня возник вопрос, а код пишется на обычном As3. Или есть специализированные классы для мобильной разработки.
Android Посоветуйте фреймворк http://www.cyberforum.ru/android-dev/thread1238428.html
Бодрого времени суток, господа! Неожиданно поставилась задача написать приложение для Android и iOS. Приложение несложное (клиент для сайта, чтобы отображал новости с него, и информацию выводил с него некоторую), и, т.к. я особо с программированием мобильных приложений не сталкивался (как-то кодил под Andriod) прошу совета у вас, уважаемые формучане:) Есть ли смысл писать программу на...
Android Sendto failed: ECONNRESET (Connection reset by peer) Обычно привык решать проблемы в коде гуглением, но что то на этот вопрос вообще не нашел ответа... В общем я пытаюсь отправить видео на сервер с помощью AsyncTask'a, но у меня сыпется на выполнении запроса как раз.. Вот мой стек трейс: 08-04 19:22:35.254: E/VideoMap(19481): error: sendto failed: ECONNRESET (Connection reset by peer) 08-04 19:22:35.254: E/VideoMap(19481):... подробнее

Показать сообщение отдельно
mcGurov
 Аватар для mcGurov
3 / 3 / 0
Регистрация: 30.07.2013
Сообщений: 99

Обработчик нажатия в ExpandableListView - Android

05.08.2014, 21:06. Просмотров 1230. Ответов 3
Метки (Все метки)

Есть ExpandableListView сделанный по примеру...

Т.е. есть разворачиваемый список второго уровня, как повесить обработчик нажатия для каждого элемента списка "child", чтобы например запустить активность с описанием? Например нажимаю на "Декабрь" и появляется описание...

Вот код
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
public class TestActivity extends Activity {
 
    String[] groups = new String[] { "Зима", "Весна", "Лето", "Осень" };
 
    String[] winterMonths = new String[] { "Декабрь", "Январь", "Февраль" };
    String[] springMonths = new String[] { "Март", "Апрель", "Май" };
    String[] summerMonths = new String[] { "Июнь", "Июль", "Август" };
    String[] autumnMonths = new String[] { "Сентябрь", "Октябрь", "Ноябрь" };
 
    // коллекция для групп
    ArrayList<Map<String, String>> groupData;
 
    // коллекция для элементов одной группы
    ArrayList<Map<String, String>> childDataItem;
 
    // общая коллекция для коллекций элементов
    ArrayList<ArrayList<Map<String, String>>> childData;
    // в итоге получится childData = ArrayList<childDataItem>
 
    // список атрибутов группы или элемента
    Map<String, String> m;
 
    ExpandableListView expListView;
 
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_test);
 
        // заполняем коллекцию групп из массива с названиями групп
        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 month : winterMonths) {
            m = new HashMap<String, String>();
            m.put("monthName", month); // название месяца
            childDataItem.add(m);
        }
        // добавляем в коллекцию коллекций
        childData.add(childDataItem);
 
        // создаем коллекцию элементов для второй группы
        childDataItem = new ArrayList<Map<String, String>>();
        for (String month : springMonths) {
            m = new HashMap<String, String>();
            m.put("monthName", month);
            childDataItem.add(m);
        }
        childData.add(childDataItem);
 
        // создаем коллекцию элементов для третьей группы
        childDataItem = new ArrayList<Map<String, String>>();
        for (String month : summerMonths) {
            m = new HashMap<String, String>();
            m.put("monthName", month);
            childDataItem.add(m);
        }
        childData.add(childDataItem);
 
        // создаем коллекцию элементов для четвертой группы
        childDataItem = new ArrayList<Map<String, String>>();
        for (String month : autumnMonths) {
            m = new HashMap<String, String>();
            m.put("monthName", month);
            childDataItem.add(m);
        }
        childData.add(childDataItem);
 
        // список аттрибутов элементов для чтения
        String childFrom[] = new String[] { "monthName" };
        // список 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);
 
        expListView = (ExpandableListView) findViewById(R.id.expListView);
        expListView.setAdapter(adapter);
    }
}
Добавлено через 8 часов 10 минут
Вообщем получилось сделать самому...

Нажатие на элемент:
Java
1
2
3
4
5
6
expListView.setOnChildClickListener(new OnChildClickListener() {
              public boolean onChildClick(ExpandableListView parent, View v,
                  int groupPosition,   int childPosition, long id) {
                Log.d(LOG_TAG, "onChildClick groupPosition = " + groupPosition + 
                        " childPosition = " + childPosition + 
                        " id = " + id);
И условие:
Java
1
2
3
4
5
if (groupPosition == 0 & childPosition == 0) {
                    Intent i = new Intent(getActivity().getApplication(), Anabas.class); 
                    startActivity(i); 
                    
                };
Помог вот этот урок...

У меня сложнее... у меня был фрагмент в фрагменте, а по-простому так:
Java
1
2
3
4
5
if (groupPosition == 0 & childPosition == 0) {
                    Intent i = new Intent(this, Anabas.class); 
                    startActivity(i); 
                    
                };
Добавлено через 1 минуту
Короче пообщался на форуме сам с собой
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 09:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru