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

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

Войти
Регистрация
Восстановить пароль
 
arvalon
21 / 6 / 2
Регистрация: 26.10.2012
Сообщений: 160
Записей в блоге: 1
#1

Какой адаптер нужен для кастомного ExpandableListView - Программирование Android

11.07.2016, 13:01. Просмотров 189. Ответов 5
Метки нет (Все метки)

Доброго дня.
Мне нужно отобразить данные в виде сворачивающегося списка. Нашёл подходящий ListView для этого - ExpandableListView. Но элементы вложенного списка надо сделать кастомными - не просто 1-2 текстовых поля, там ещё будет CheckBox, Switch, картинка. Соответственно SimpleExpandableListAdapter не подходит. А какой адаптер выбрать?
SimpleExpandableListAdapter или CursorTreeAdapter?

P.S. вообще, не до конца понимаю когда какой адаптер выбирать для того или иного списка, который с курсором (в названии) или нет? Вот у меня была задача отобразить кастомный список - чекбокс, тестовое поле и картинка. В нём отмечаются нужные элементы и коллекция нужных мне Id этих элементов передаётся в Активити. Всё так как мне надо. И это реализовано ListView & BaseAdapter. Элементы для BaseAdapter тянул из БД SQLite методом в классе работы с БД. Там методом rawQuery получаю курсор, им же обхожу весь результат запроса и заполняю коллекцию, типизированную своим типом и выдаю в BaseAdapter.
Туплю, зачем нужны адаптеры с курсором тогда?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.07.2016, 13:01
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Какой адаптер нужен для кастомного ExpandableListView (Программирование Android):

Какой адаптер посоветуете мне использовать? - Программирование Android
MainActivity import java.util.ArrayList; import android.os.AsyncTask; import android.os.Bundle; import android.app.AlertDialog; ...

Android: как оптимизировать код для ExpandableListView - Программирование Android
как заполнить ExpandableListView при помощи строкового массива ? Имеется ввиду из готовой StringArray как на картинке вот...

Какой сервис нужен для фоновой работы (при выключенном приложении)? - Программирование Android
Здравствуйте! Подскажите, какими средствами стоит реализовывать следующее: Необходимо сделать такой сервис, который бы запускался не...

Адаптер для GridView - Программирование Android
Доброго времени. пытаюсь реализовать адаптер для GridView но почемуто не совсем получается. Суть вот в чем. я создал свой компонент: код...

ExpandableListView - Программирование Android
Подскажите как быть, есть список груп(допустим их всего 3) и есть список дочерних элементов у каждой группы свой. допустим мы развернули...

ExpandableListView - Программирование Android
Доброго времени суток! Пытаюсь сделать подсветку элементов ExpandableListView по аналогии с ListView <ExpandableListView ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Mikalai
256 / 232 / 93
Регистрация: 11.01.2015
Сообщений: 655
11.07.2016, 13:13 #2
arvalon, пиши свой адаптер расширяющий BaseExpandableListAdapter
1
arvalon
21 / 6 / 2
Регистрация: 26.10.2012
Сообщений: 160
Записей в блоге: 1
11.07.2016, 13:18  [ТС] #3
Цитата Сообщение от Mikalai Посмотреть сообщение
пиши свой адаптер расширяющий BaseExpandableListAdapter
Спс.
А по второму вопросу, общего теоретического характера не просветите? Разницу между адаптерами с курсором и без. В адаптерах с курсором этот курсор доступен в самом адаптере? Это просто другой способ работы с БД, где курсор перенесён из класса работы с БД в адаптер, или есть ещё какой-то смысл?
0
Mikalai
256 / 232 / 93
Регистрация: 11.01.2015
Сообщений: 655
11.07.2016, 13:30 #4
На мой взгляд адаптеры принимающие курсор сделаны для удобства работы с БД. Но они совсем "сырые". Если писать хоть чуть-чуть что-то серьёзное, придётся адаптер писать самому. И принимать у него в параметрах конструктора курсор нам никто не мешает. Да так и логичнее, когда с курсором разбирается сам адаптер. ИМХО
0
arvalon
21 / 6 / 2
Регистрация: 26.10.2012
Сообщений: 160
Записей в блоге: 1
11.07.2016, 14:04  [ТС] #5
Цитата Сообщение от Mikalai Посмотреть сообщение
они совсем "сырые"
А в чём сырость? Ведь если брать адаптеры БЕЗ курсора то там тоже если надо отобразить что-то более серьёзное чем 1-2 текстовых поля, надо наследоваться и писать свой.

А как у меня получается - адаптер принимает уже готовый List<MyObject> из класса работы с БД, это нормально? По идее работает, но вдруг это не "Android-way" или просто кривое решение?
0
Mikalai
256 / 232 / 93
Регистрация: 11.01.2015
Сообщений: 655
11.07.2016, 14:55 #6
Про "Android-way" мне не известно ничего )) Пиши как тебе удобнее. Вот если через год откроешь свой код и ничего не поймёшь, вот тогда будет ясно, что написано было плохо ))
Вообще это уже лирика пошла.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.07.2016, 14:55
Привет! Вот еще темы с ответами:

В какой среде писать программы для Android, где скачать, какой язык? - Программирование Android
Вопрос. В какой среде писать программы для Android, где скачать, какой язык, на что похож, где почитать в общем надо простейшую...

Как создать адаптер для Gallery? - Программирование Android
Доброго вечера всем! Имеется List &lt;String&gt; files_adress;, содержащий адреса картинок, как создать адаптер для Gallery, который будет...

Адаптер для списка сообщений мессенджера - Программирование Android
Всем привет. Может конечно вопрос и тупой, но я не могу с ним уже месяц справится. Короче хочу создать чат(или меснджер, называйте как...

OnClick ExpandableListView - Программирование Android
Пример для ItemList, который нашел в интернете. listview.setOnItemClickListener(new OnItemClickListener(){ @Override ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
11.07.2016, 14:55
Ответ Создать тему
Опции темы

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