Урок 53. SimpleCursorTreeAdapter, пример использования
Re: Урок 53. SimpleCursorTreeAdapter, пример использования
про startManagingCursor уже забудь - deprecated
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
Re: Урок 53. SimpleCursorTreeAdapter, пример использования
Почему, не работает код с урока? Я скопировал весь код, но почему то все дочерние элементы в первой группе...
[syntax=java]// создаем и заполняем таблицу компаний
db.execSQL(COMPANY_TABLE_CREATE);
for (int i = 0; i < companies.length; i++) {
cv.put(COMPANY_COLUMN_ID, i + 1);
cv.put(COMPANY_COLUMN_NAME, companies);
db.insert(COMPANY_TABLE, null, cv);
}[/syntax]
[syntax=java] // создаем и заполняем таблицу телефонов
db.execSQL(PHONE_TABLE_CREATE);
cv.clear();
for (int i = 0; i < phonesHTC.length; i++) {
cv.put(PHONE_COLUMN_COMPANY, 1);
cv.put(PHONE_COLUMN_NAME, phonesHTC);
db.insert(PHONE_TABLE, null, cv);
}
for (int i = 0; i < phonesSams.length; i++) {
cv.put(PHONE_COLUMN_COMPANY, 2);
cv.put(PHONE_COLUMN_NAME, phonesSams);
db.insert(PHONE_TABLE, null, cv);
}
for (int i = 0; i < phonesLG.length; i++) {
cv.put(PHONE_COLUMN_COMPANY, 3);
cv.put(PHONE_COLUMN_NAME, phonesLG);
db.insert(PHONE_TABLE, null, cv);
}[/syntax]
[syntax=java] // получаем курсор по элементам для конкретной группы
int idColumn = groupCursor.getColumnIndex(DB.COMPANY_COLUMN_ID);
return db.getPhoneData(groupCursor.getInt(idColumn));[/syntax]
[syntax=java]// создаем и заполняем таблицу компаний
db.execSQL(COMPANY_TABLE_CREATE);
for (int i = 0; i < companies.length; i++) {
cv.put(COMPANY_COLUMN_ID, i + 1);
cv.put(COMPANY_COLUMN_NAME, companies);
db.insert(COMPANY_TABLE, null, cv);
}[/syntax]
[syntax=java] // создаем и заполняем таблицу телефонов
db.execSQL(PHONE_TABLE_CREATE);
cv.clear();
for (int i = 0; i < phonesHTC.length; i++) {
cv.put(PHONE_COLUMN_COMPANY, 1);
cv.put(PHONE_COLUMN_NAME, phonesHTC);
db.insert(PHONE_TABLE, null, cv);
}
for (int i = 0; i < phonesSams.length; i++) {
cv.put(PHONE_COLUMN_COMPANY, 2);
cv.put(PHONE_COLUMN_NAME, phonesSams);
db.insert(PHONE_TABLE, null, cv);
}
for (int i = 0; i < phonesLG.length; i++) {
cv.put(PHONE_COLUMN_COMPANY, 3);
cv.put(PHONE_COLUMN_NAME, phonesLG);
db.insert(PHONE_TABLE, null, cv);
}[/syntax]
[syntax=java] // получаем курсор по элементам для конкретной группы
int idColumn = groupCursor.getColumnIndex(DB.COMPANY_COLUMN_ID);
return db.getPhoneData(groupCursor.getInt(idColumn));[/syntax]
Re: Урок 53. SimpleCursorTreeAdapter, пример использования
Название класса не оправдывает ожиданий.Не такой уж он и "Simple".
-
- Сообщения: 7
- Зарегистрирован: 16 фев 2015, 08:41
Re: Урок 53. SimpleCursorTreeAdapter, пример использования
Всем привет!
Бьюсь над задачей: есть группа чекбоксов в группе, ставлю кнопку [ВКЛ/ВЫКЛ] в заголовке через xml вот так:
Группа [ВКЛ]
* строка 1 [ ]
* строка 2 [ ]
* строка 3 [ ]
* строка 4 [ ]
Группа должна быть раскрываемой и скрываемой по кнопке [ВКЛ/ВЫКЛ]
Почему так должно быть сделано? Дело в том, чтобы сделать неактивными и невидимыми данные чекбоксы, когда они не нужны (для удобства пользования с целью не нагружать юзера, этих чекбоксов довольно таки много)
Другая сложность, этот ExpandableListView находится в фрагменте, находящемся на дочернем другом активити, как пробросить действие, т.е. раскрытие списка, т.к. возникли сложности с получением id строки на котором находится кнопка, и получением id фрагмента, на котором находится ExpandableListView, ваять для каждого фрагмента класс? у меня этим занимается 1 класс для каждого типа фрагментов, их количество варьируется от 5 до 13 в зависимости от типа объекта
Бьюсь над задачей: есть группа чекбоксов в группе, ставлю кнопку [ВКЛ/ВЫКЛ] в заголовке через xml вот так:
Группа [ВКЛ]
* строка 1 [ ]
* строка 2 [ ]
* строка 3 [ ]
* строка 4 [ ]
Группа должна быть раскрываемой и скрываемой по кнопке [ВКЛ/ВЫКЛ]
Почему так должно быть сделано? Дело в том, чтобы сделать неактивными и невидимыми данные чекбоксы, когда они не нужны (для удобства пользования с целью не нагружать юзера, этих чекбоксов довольно таки много)
Другая сложность, этот ExpandableListView находится в фрагменте, находящемся на дочернем другом активити, как пробросить действие, т.е. раскрытие списка, т.к. возникли сложности с получением id строки на котором находится кнопка, и получением id фрагмента, на котором находится ExpandableListView, ваять для каждого фрагмента класс? у меня этим занимается 1 класс для каждого типа фрагментов, их количество варьируется от 5 до 13 в зависимости от типа объекта
Re: Урок 53. SimpleCursorTreeAdapter, пример использования
Подскажите пожалуйста, как по аналогии с уроком 136 сделать этот урок и возможно ли это?
Например, пользуясь SimpleCursorTreeAdapter, нет метода swapCursor
Подскажите пожалуйста, в какую сторону смотреть...
Например, пользуясь SimpleCursorTreeAdapter, нет метода swapCursor
Подскажите пожалуйста, в какую сторону смотреть...
Re: Урок 53. SimpleCursorTreeAdapter, пример использования
Вопрос решен. есть changeCursor
PS. Что-то глухо на форуме стало
PS. Что-то глухо на форуме стало
Re: Урок 53. SimpleCursorTreeAdapter, пример использования
Привет всем!
onesoft у тебя получилось переделать, с использованием CursorLoader? что -то у меня падает при старте. Вопрос снят. Ошибка была при создании базы, пропустил пробел))
onesoft у тебя получилось переделать, с использованием CursorLoader? что -то у меня падает при старте. Вопрос снят. Ошибка была при создании базы, пропустил пробел))
-
- Сообщения: 36
- Зарегистрирован: 28 июн 2015, 03:13
Re: Урок 53. SimpleCursorTreeAdapter, пример использования
Всем Привет! Сначала скажу Спасибо за простой и понятный урок.
1. Если уже сделали с Loader, у кого есть код MainActivity, если не трудно здесь выложить))
Ну очень хочется время сэкономить. )
2. Простите за глупый вопрос от новичка
SimpleCursorTreeAdapter - это абстрактный класс. И он не может иметь своего объекта. Тогда почему правильно объявлять:
SimpleCursorTreeAdapter sctAdapter = new MyAdapter(....);
а не
MyAdapter sctAdapter = new MyAdapter(....);
??? Проверил оба варианта, оба работают. Какой правильней? И почему не возникает ошибки при первом варианте?
1. Если уже сделали с Loader, у кого есть код MainActivity, если не трудно здесь выложить))
Ну очень хочется время сэкономить. )
2. Простите за глупый вопрос от новичка
SimpleCursorTreeAdapter - это абстрактный класс. И он не может иметь своего объекта. Тогда почему правильно объявлять:
SimpleCursorTreeAdapter sctAdapter = new MyAdapter(....);
а не
MyAdapter sctAdapter = new MyAdapter(....);
??? Проверил оба варианта, оба работают. Какой правильней? И почему не возникает ошибки при первом варианте?
-
- Сообщения: 1
- Зарегистрирован: 16 дек 2015, 17:56
Re: Урок 53. SimpleCursorTreeAdapter, пример использования
Всем привет! У меня возник вопроc касающийся данной темы. Точнее БД, в своем приложении я использую такую модель БД, она имеет "Родителей" и "Детей"(Parent and Child). Все реализовал по средствам обычных Activity и ListView, все работает замечательно, создание редактирование и удаление записей, как Родителей так и Детей. В списках использую кастомизированный SimpleCursorAdapter.
Мне необходимо реализовать подсчет общей суммы среди Детей(Child) в одном из столцов, COLUMN_PRICE.
Раньше я использовал: (mDB.rawQuery"SELECT SUM(" + COLUMN_PRICE + ") FROM " + DB_TABLE, null);
Но сейчас этот способ явно не сработает, так как не указан номер родителя(нет исключения среди котрого нужно и искать), как мне реализовать данный метод?
Основная цель: Вычислить сумму столбца который находится внутри родителя(Parent)
UPD: В стлбце COLUMN_PRICE используются данные типа long, которые я без вреда для приложения могу изменить в int
Мне необходимо реализовать подсчет общей суммы среди Детей(Child) в одном из столцов, COLUMN_PRICE.
Раньше я использовал: (mDB.rawQuery"SELECT SUM(" + COLUMN_PRICE + ") FROM " + DB_TABLE, null);
Но сейчас этот способ явно не сработает, так как не указан номер родителя(нет исключения среди котрого нужно и искать), как мне реализовать данный метод?
Основная цель: Вычислить сумму столбца который находится внутри родителя(Parent)
UPD: В стлбце COLUMN_PRICE используются данные типа long, которые я без вреда для приложения могу изменить в int
Re: Урок 53. SimpleCursorTreeAdapter, пример использования
Всем привет! Спасибо за этот урок. Я еще совсем новичек и многое не понимаю.
Я обыскал уже почти весь инет и не могу найти решение. Помогите пожалуйста.
На основе этого урока, я добавил еще одну таблицу с описанием телефонов - 4 колонки : _id, описание, idгруппы, idэлемента группы . Методом OnChildClickListener нужно вывести описание выбранного телефона в другой активити.
Не могу понять, как нужно присвоить описание к конкретному телефону и как передать данные с описанием в другой активити. И как в другом активити вывести описание в текствью.
Заранее благодарю за помощь!
Все, разобрался сам. Передал groupPosition и childPosition через Intent во второе Activity. Во втором активити получил позиции и подставив их в query сделал выборку из базы.
Я обыскал уже почти весь инет и не могу найти решение. Помогите пожалуйста.
На основе этого урока, я добавил еще одну таблицу с описанием телефонов - 4 колонки : _id, описание, idгруппы, idэлемента группы . Методом OnChildClickListener нужно вывести описание выбранного телефона в другой активити.
Не могу понять, как нужно присвоить описание к конкретному телефону и как передать данные с описанием в другой активити. И как в другом активити вывести описание в текствью.
Заранее благодарю за помощь!
Все, разобрался сам. Передал groupPosition и childPosition через Intent во второе Activity. Во втором активити получил позиции и подставив их в query сделал выборку из базы.
Последний раз редактировалось kitoved 14 апр 2016, 14:01, всего редактировалось 1 раз.
Re: Урок 53. SimpleCursorTreeAdapter, пример использования
делаю контекстное меню, как узнать _id поля таблицы элемента списка для которого вызвано меню?
В предыдущем уроке это делали так с обычным ListView это делали так:
В предыдущем уроке это делали так с обычным ListView это делали так:
Но в случае с ExpandableListView выдает ошибку, что нельзя так преобразовывать! Как здесь поступить?@Override
public boolean onContextItemSelected(MenuItem item) {
switch (item.getItemId()) {
case CM_CATEG_CREATE:
intent = new Intent(this, NewCateg.class);
startActivityForResult(intent, REQUEST_CODE_NEWCATEG);
break;
case CM_CATEG_EDIT:
Log.d("myLogs", "CM_CATEG_EDIT");
try {
AdapterContextMenuInfo acmi = (AdapterContextMenuInfo) item.getMenuInfo();
Log.d("myLogs", ""+acmi.id);
}
catch (Exception ex) {
Log.d("myLogs", ex.getMessage().toString());
}
intent = new Intent(this, NewCateg.class);
startActivityForResult(intent, REQUEST_CODE_EDITCATEG);
break;
case CM_CATEG_DELETE:
break;
}
return super.onContextItemSelected(item);
}
Re: Урок 53. SimpleCursorTreeAdapter, пример использования
Пожалуйста, подскажите как это все реализовать с помощью CursorLoader...
Я абсолютно ничего понять не могу тут :c, буду очень благодарен
Я абсолютно ничего понять не могу тут :c, буду очень благодарен