3

ページング ライブラリを使用して、RecyclerView で検索機能を使用して連絡先を表示しようとしています。https://github.com/anujmiddha/paged-list-demoこの GitHub プロジェクトに従っています。以下は、私のプロジェクトのコード スニペットです。pagedList アダプターを使用して、徐々に連絡先を取得しようとしています。しかし、この LIMIT と OFFSET は、Android 9.0 などの一部の Android バージョンでは期待どおりに機能しません。これに代わるものはありますか?

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)
        }

しかし、私には何もうまくいきません..

4

0 に答える 0