912 / 560 / 88
Регистрация: 13.02.2014
Сообщений: 2,081
|
||||||||||||||||||||||||
1 | ||||||||||||||||||||||||
Создание ListView с CheckBox из БД08.04.2014, 20:16. Показов 3056. Ответов 12
Метки нет (Все метки)
Привет, приложение создает БД с полями id, String и Int
Это xml с параметром multipleChoice Кликните здесь для просмотра всего текста
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <ListView android:id="@+id/listView1" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:choiceMode="multipleChoice" > </ListView> <Button android:id="@+id/button1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="0" android:onClick="clickme" android:text="@string/button_save" /> </LinearLayout>
Как в курсор запихнуть CHECK и отобразить их значения (true/false) в ListView?
0
|
08.04.2014, 20:16 | |
Ответы с готовыми решениями:
12
Checkbox ListView ListView и checkbox Checkbox в listview Убрать CheckBox в ListView |
325 / 123 / 10
Регистрация: 01.11.2012
Сообщений: 586
|
||||||
08.04.2014, 23:47 | 2 | |||||
Вам нужно сделать кастомный адаптер для ListView. А там пихайте туда хоть черта лысого. Вот пример создания такого адаптера.
Ну а по поводу как CHECK взять:
0
|
912 / 560 / 88
Регистрация: 13.02.2014
Сообщений: 2,081
|
||||||
09.04.2014, 10:03 [ТС] | 3 | |||||
Пример посмотрю, спасибо.
А почему в new ArrayAdapter (18 стр) нельзя запихнуть name и чек? Ведь это же массив. Одномерный, из за этого? А с CursorAdapter нет примера? Он как раз для работы с БД, но в рунете примеров маловато и в основном простейшие, для одного поля. Добавлено через 28 минут Вот еще нашел, пока не знаю будет работать или нет.
0
|
35 / 35 / 2
Регистрация: 12.11.2013
Сообщений: 345
|
|
09.04.2014, 13:24 | 4 |
BaseAdapter гугли
0
|
912 / 560 / 88
Регистрация: 13.02.2014
Сообщений: 2,081
|
|
09.04.2014, 15:19 [ТС] | 5 |
0
|
35 / 35 / 2
Регистрация: 12.11.2013
Сообщений: 345
|
|
09.04.2014, 15:54 | 6 |
Адаптер - это прокладка между данными и представлением списка. Есть готовые адаптеры, но мне они часто не подходят и я предпочитаю кастомный. Смысл в: 1) получил данные в том виде котором надо или удобно. Я предпочитаю создавать класс с гетерами и сетерами и хранить данные в коллекции 2) Вывел на экран списком с помощью адаптера
1
|
912 / 560 / 88
Регистрация: 13.02.2014
Сообщений: 2,081
|
|
09.04.2014, 19:13 [ТС] | 7 |
kirawa, ну что это прокладка это понятно, я же просто хочу использовать источник и приемник, для этого и существует подкласс CursorAdapter, а от посредника в виде коллекции или массива отказаться. как то так.
0
|
912 / 560 / 88
Регистрация: 13.02.2014
Сообщений: 2,081
|
|
10.04.2014, 08:35 [ТС] | 9 |
Кто ж спорит, что это не так, но в примере не то, что нужно.
Опишу как я понимаю: Вместо Данные(БД) -> Коллекция -> CastomAdapter-> ListView надо Данные(БД) -> SimpleCursorAdapter -> ListView SimpleCursorAdapter оказывается устарел, вставил его в проект, а он зачеркнутый. Попробовал CursorLoader, вроде то что нужно, но возникла новая проблема: При запуске заполняю таблицу, поле CHECK (integer) заполняю методом put единицами, 0/true/false тоже пробовал. А в ListView почему-то эти данные (1 или 0) стоят справа от чекбокса, типа текст поля. Как чекать сами чекбоксы?
0
|
35 / 35 / 2
Регистрация: 12.11.2013
Сообщений: 345
|
|
10.04.2014, 11:14 | 10 |
охо-хо-хо
0
|
99 / 95 / 9
Регистрация: 09.04.2010
Сообщений: 746
|
|
10.04.2014, 11:24 | 11 |
Никто и не говорил, что это будет готовое 100% решение, но того достаточно. Я, к примеру, поняв принцип, сделал кастомный список для своего плеера - там и чекбоксы и куча другой инфы (кликабельной).
А вам нужно всего лишь немного поправить tabitem.xml - убрать лишнее и добавить туда чекбокс, повесив на него листенер (и всё остальное с этим связанное - holder и т.д.). Если чё не ясно по листу, спрашивайте, я тему вкурил.. А в БД я, к сожалению, не асс - поверхностно.. Добавлено через 4 минуты checkbox.setChecked(true); Это надо делать с помощью ViewHolder, чтобы при касании пальцем чекало нужный чекбокс.
0
|
912 / 560 / 88
Регистрация: 13.02.2014
Сообщений: 2,081
|
||||||
10.04.2014, 13:28 [ТС] | 12 | |||||
Не надо мусорить в теме
Это я сделал, тут проблем нет, кроме holder, что это? Это все работает, проблема в отображении чекбоксов, т.е. приложение при старте заполняет БД (как рис. в шапке), затем: 1. Чтение ДБ через Cursorloader (сделано) 2. Вывод данных Cursorloader в ListView (сделано) 3. Отображение чекбоксов некорректное. Получается как будто вместо галки прописывает текст справа. Типа Caption. Москва [] 1 Казань [] 0 Делаю примерно так
0
|
35 / 35 / 2
Регистрация: 12.11.2013
Сообщений: 345
|
|
10.04.2014, 13:36 | 13 |
0
|
10.04.2014, 13:36 | |
10.04.2014, 13:36 | |
Помогаю со студенческими работами здесь
13
ListView и checkBox JavaFX Двухколоночный listview с checkbox ListView со столбцом CheckBox Проверка checkbox в listview Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |