Как использовать Пейджинг для списка контактов в Android - PullRequest
0 голосов
/ 03 мая 2020

Я пытаюсь отобразить контакты с функциями поиска в RecyclerView с помощью библиотеки подкачки. https://github.com/anujmiddha/paged-list-demo Я слежу за этим проектом GitHub. Ниже приведен фрагмент кода из моего проекта. Я пытаюсь получать контакты постепенно с помощью адаптера pagedList. Но этот LIMIT и OFFSET не работают должным образом в некоторых Android версиях, таких как Android 9.0. Есть ли альтернатива этому?

private val PROJECTION = arrayOf(
                ContactsContract.Contacts.DISPLAY_NAME,
                ContactsContract.CommonDataKinds.Phone.NUMBER
        )
    val cursor = contentResolver.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
                    PROJECTION,
                    null,
                    null,
                    ContactsContract.Contacts.DISPLAY_NAME +
                            " ASC LIMIT " + limit + " OFFSET " + offset) 

Кроме того, я попробовал другой способ, как показано ниже.

val queryArgs = Bundle()
        val cursor: Cursor?
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
            queryArgs.putInt(ContentResolver.QUERY_ARG_OFFSET, offset)
            queryArgs.putInt(ContentResolver.QUERY_ARG_LIMIT, limit)

            cursor = contentResolver.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
                    PROJECTION,
                    queryArgs,
                    null)
        } else {
            cursor = contentResolver.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
                    PROJECTION,
                    null,
                    null,
                    ContactsContract.Contacts.DISPLAY_NAME +
                            " ASC LIMIT " + limit + " OFFSET " + offset)
        }

Но у меня ничего не работает ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...