gpt4 book ai didi

android - 仅显示一定数量的联系人

转载 作者:行者123 更新时间:2023-11-29 02:34:55 25 4
gpt4 key购买 nike

我开发了一个程序,可以显示我电话簿中的联系人列表。为此,我使用以下代码:

    ContentResolver cr = getContentResolver();
Cursor cursor = cr.query(ContactsContract.Contacts.CONTENT_URI,
null,
ContactsContract.Contacts.HAS_PHONE_NUMBER + " = '1'",
null,
ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME + " COLLATE LOCALIZED ASC");
if (cursor != null && cursor.getCount() > 0) {
while (cursor.moveToNext()) {
String id = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));
String name = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
Uri.withAppendedPath(ContactsContract.Contacts.CONTENT_URI, String.valueOf(id));
Cursor phones = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
null,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = " + id,
null,
null);
if (phones != null) {
while (phones.moveToNext()) {
String phoneNumber = phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));

contactList.add(new Contact(name, phoneNumber, id));
}

phones.close();
}
}
cursor.close();
}
adapter = new ContactAdapter(contactList, R.layout.contacts_list_item, getApplicationContext());
recyclerView.setAdapter(adapter);

一切正常,程序显示了我电话簿中的所有联系人,但我希望显示一定数量的联系人例如:我打开程序并加载电话簿中的前 50 个联系人,滚动后,接下来的 50 个联系人被加载到列表的末尾。等等

最佳答案

使用以下具有限制原因的代码。用下面的代码替换你的代码

Cursor cursor = cr.query(ContactsContract.Contacts.CONTENT_URI,
null,
ContactsContract.Contacts.HAS_PHONE_NUMBER + " = '1' ",
null,
ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME + " COLLATE LOCALIZED ASC LIMIT 10");

它将获取前 10 条记录。并在下拉刷新实现中,获取更多关于下拉刷新回调事件的记录。希望对你有帮助

关于android - 仅显示一定数量的联系人,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47631502/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com