С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Загрузка двухуровнего списка - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Завершаю первое приложение под анройд http://www.cyberforum.ru/android-dev/thread1566355.html
Как легче всего реализовать обратную связь. Необходимо оживить адрес электронной почты в активности о программе. Т.е. вызвать почтарь используемый по умолчанию и впихать свой адрес в поле кому.
Программирование Android Виджет не появляется в списке виджетов Разбираю урок 117 проекта startandroid, делаю все как в уроке, но виджет не появляется в списке. Мне кажется, дело в том, что у меня в AndroidManifest.xml файле receiver->intent-filter->action... http://www.cyberforum.ru/android-dev/thread1566242.html
Черный экран в эмуляторе Android Studio Программирование Android
Добрый вечер! Запускаю эмуляторе Android Studio, там только черный экран в виде смартфона без кнопок. В Nexus 4 на черном экране появляется надпись Android, в Nexus 5 просто черный экран. Если...
Android поиск по сайту Программирование Android
Всем привет, щас попробую описать ситуацию. Задача стоит такая, на сайте есть форма, к примеру два поля и кнопка, при заполнении полей выводятся результаты поиска в виде списка. Вот, нужно чтобы на...
Программирование Android Как реализовать дизайн ленты новостей? http://www.cyberforum.ru/android-dev/thread1566185.html
У меня есть вот такое вот активити Хотелось бы сделать примерно вот так ...
Программирование Android Не могу найти недочет в коде SQL делаю фильтр записей в sql таблице по 4 строкам, если забивать поиск последовательно, т.е. сначала первый эдит, второй и тд то все работает нормально, но если первый оставить в покое, а начать сразу... подробнее

Показать сообщение отдельно
ExFau$t
372 / 358 / 75
Регистрация: 08.05.2012
Сообщений: 1,806

Загрузка двухуровнего списка - Программирование Android

30.10.2015, 09:46. Просмотров 220. Ответов 1
Метки (Все метки)

Здравствуйте, нужно загрузить двухуровневый список, то есть в идеале сначала главный уровень, а по нажатию загрузить дочерний и отобразить. Разные варианты испробовал, вот наиболее удачный, грузится все сразу, причем вперемешку, что первое загрузится, то и запихивается в очередной дочерний список. Ну и onFinish() мне не нравится, что-то в нем не так. Пробовал поставить слушатель нажатия в финиш загрузки главного списка, и в самом нажатии уже грузить нужный подсписок, но там вообще не вышло, да и финиш внутреннего списка как-то неправильно работает. Короче затупил, нужна помощь.
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
final AsyncHttpClient client = new AsyncHttpClient();
        client.get(url1, new JsonHttpResponseHandler() {
 
            @Override
            public void onSuccess(int statusCode, Header[] headers, JSONObject response) {
                super.onSuccess(statusCode, headers, response);
                try {
                    SharedPreferences.Editor ed = sp.edit();
                    JSONArray loc = response.getJSONArray("locales");
                    ed.putInt("admNom", loc.length() - 1);//test region
                    int k = 0;
                    for (int i = 0; i < loc.length(); i++) {
                        JSONObject obj = loc.getJSONObject(i);
                        if (obj.getInt("_id") != 157) {
                            ed.putString("admregion" + Integer.toString(i), obj.getString("name") + "|#|" + Integer.toString(obj.getInt("_id")));
                            mGroupsArray[k] = obj.getString("name");
                            client.get(url2, new JsonHttpResponseHandler() {
 
                                @Override
                                public void onSuccess(int statusCode, Header[] headers, JSONObject response) {
                                    super.onSuccess(statusCode, headers, response);
                                    try {
                                        SharedPreferences.Editor ed = sp.edit();
                                        JSONArray loc = response.getJSONArray("locales");
                                        ed.putInt("regNom", loc.length());
                                        ArrayList<Map<String, String>> сhildDataItemList = new ArrayList<>();
                                        for (int i = 0; i < loc.length(); i++) {
                                            JSONObject obj = loc.getJSONObject(i);
                                            ed.putString("regregion" + Integer.toString(i), obj.getString("name") + "|#|" + Integer.toString(obj.getInt("_id")));
                                                map = new HashMap<>();
                                                map.put("regName", obj.getString("name"));
                                                сhildDataItemList.add(map);
 
                                        }
                                        сhildDataList.add(сhildDataItemList);
                                        ed.apply();
                                        //onFinish();
                                      } catch (JSONException e) {
                                          e.printStackTrace();
                                      }
                                 }
                            });
                            k++;
                        }
                    }
                    ed.apply();
                    onFinish();
                } catch (JSONException e) {
                    e.printStackTrace();
                }
            }
 
            @Override
            public void onFinish() {
                ArrayList<Map<String, String>> groupDataList = new ArrayList<>();
                сhildDataList = new ArrayList<>();
 
                for (int i=0;i<sp.getInt("admNom",0);i++) {
                    map = new HashMap<>();
                    map.put("admName", mGroupsArray[i]); // время года
                    groupDataList.add(map);
                }
 
                String groupFrom[] = new String[] { "admName" };
                int groupTo[] = new int[] { android.R.id.text1 };
                String childFrom[] = new String[] { "regName" };
                int childTo[] = new int[] { android.R.id.text1 };
                SimpleExpandableListAdapter adapter = new SimpleExpandableListAdapter(
                        getApplicationContext(), groupDataList,
                        android.R.layout.simple_expandable_list_item_1, groupFrom,
                        groupTo, сhildDataList, android.R.layout.simple_list_item_1,
                        childFrom, childTo);
                ExpandableListView expandableListView = (ExpandableListView) findViewById(R.id.expListView);
                expandableListView.setAdapter(adapter);
                }
 
 
        });
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.