SimpleCursorAdapter / ListAdapter с несколькими источниками

Можно ли создать ListAdapter, элементы которого поступают из разных источников (а не только из одного курсора).

// Создание списка имен
// Запрос table1.name
// Запрос table2.name
// Создание ListAdapter, передающего список имен.

Вот пример создания курсора из одной таблицы:

SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_1, cursor, new String[] { NAME }, new int[] { 
android.R.id.text1 });
setListAdapter(adapter);
adapter.setFilterQueryProvider(m_filterQueryProvider);
if (rememberLastConstraint && m_filterQueryProvider.getConstraint() != null) {
    adapter.getFilter().filter(m_filterQueryProvider.getConstraint());
}

person dev101    schedule 23.02.2011    source источник


Ответы (2)


Один из методов заключался бы в том, чтобы скомпилировать все данные для ListView в структуре данных вне адаптера ListView, а затем передать их в ListView и вызвать уведомление об изменении набора данных. Таким образом, вы можете получать данные из разных типов источников в ListView.

person Ravi Vyas    schedule 23.02.2011

да. Для объединения курсоров используйте MergeCursor.

person pawelzieba    schedule 23.02.2011