Intereting Posts
Получить ширину и высоту растрового изображения без загрузки в память Android – Cordova 3.5.0 deviceready не срабатывает после установки медиаплагина Android-соединение не может подключаться Ошибка сеанса «приложение» при установке APK Проблема получения ConnectivityManager в устройстве с несколькими SIM-картами Возможно ли настроить проект Android IntelliJ для работы с maven? Выравнивание двух кнопок влево и вправо на Android TextView.setTextSize ведет себя ненормально – Как установить размер текста текстового вида динамически для разных экранов В proguard, как сохранить набор имен методов классов? Различия в виджетах для Android Интегрируя org.apache.poi и пакет javax.xml.stream. * (Stax-api) в android – как установить аргумент -core-library в Android Studio? Добавление библиотек поддержки в Android-проект Не удалось загрузить обновленный APK в Google Play Store Является ли разработка Android на C / C ++ быстрее, чем Java? В чем разница между представлением и активностью в развитии Android?

ListView с использованием двух курсорных адаптеров?

У меня есть код, который выполняет два запроса по базе данных и возвращает два объекта курсора. Есть ли способ объединить эти два курсора, чтобы весь ListView данные от обоих?

Solutions Collecting From Web of "ListView с использованием двух курсорных адаптеров?"

Для этого есть MergeCursor (если нет способа присоединиться к таблицам).

FYI – пример использования MergeCursor ()

C = Курсор, содержащий колонки контактов из Contacts.CONTENT_URI

 private Cursor mergeCursorSubset(Cursor c) { int userMobile = ContactsContract.CommonDataKinds.Phone.TYPE_MOBILE, workMobile = ContactsContract.CommonDataKinds.Phone.TYPE_WORK_MOBILE; String storedNumber = ContactsContract.CommonDataKinds.Phone.NUMBER, displayName =ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME, numberType = ContactsContract.CommonDataKinds.Phone.TYPE, contactKey = ContactsContract.CommonDataKinds.Phone.LOOKUP_KEY, whereClausePre = contactKey+" = '", whereClausePost = "AND ("+numberType+" = '"+userMobile+"' OR "+numberType+" = '"+workMobile+"'"; Uri lookupUri = ContactsContract.CommonDataKinds.Phone.CONTENT_URI;; Cursor [] m = new Cursor[c.getCount()]; if (c.moveToFirst()) for (int k = 0; k<c.getCount();k++){ //Find the mobile numbers Cursor u = this.getContentResolver().query(lookupUri, new String[]{displayName, storedNumber, numberType} , whereClausePre+c.getString(c.getColumnIndex(Contacts.LOOKUP_KEY))+"') " + whereClausePost, null, null); int i = 0; if (u.moveToFirst()) m[i++] = u; } //for Each key return new MergeCursor(m); } 

Вы также можете использовать cwac-merge .

Cwac-merge: предоставляет MergeAdapter, ListAdapter, который объединяет несколько представлений или списков в один список. Используйте это для заголовков разделов, объединяя несколько источников данных вместе и т. Д.

Проверьте MatrixCursor .

Возможно, это поможет вам и Android – Table Table Join