В настоящее время я использую CursorTreeAdapter для сопоставления Curser с ExpandableListView в Android.
Все работает хорошо, кроме способа обработки данных внутри ListView.Обычно все данные уже находятся внутри Курсора, который я предоставляю Конструктору CursorTreeAdater - даже даа для Childview.Проблема в том, что Android ожидает, что данные для ChildView будут получены функцией getChildrenCursor:
@Override
protected Cursor getChildrenCursor(Cursor groupCursor) {
db.open();
return db.getEpisode(groupCursor.getString(0));
}
Здесь вы уже видите проблему.Я должен вернуть курсор, но я не могу просто «вырезать» одну запись в Курсоре, которая отвечает за конкретное Childview.Вместо этого я придумал что-то вроде запроса к базе данных для каждого отдельного ChildView.Это не только глупо, поскольку данные уже есть (внутри группового курсора), но и довольно медленно.
Мой вопрос был бы, если есть какая-то функциональность клонирования только определенных записей курсоров или возврата толькоодна запись вместо того, чтобы постоянно запрашивать базу данных.
Может быть, я тоже отключен, используя CursorTreeAdapter и использование более общего AdapterClass было бы полезно.
Спасибо всем, Йоханнес