【发布时间】:2020-05-06 01:07:22
【问题描述】:
我正在使用 android 设备联系人。如果 android 设备联系人超过 五个 千,则从联系人获取数据需要 在空白屏幕上花费太多时间。我已经使用下面的代码来获取数据
private void fetchContacts1() {
String order = ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME + " ASC";
Cursor cursor = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null, null, order);
while (cursor.moveToNext()) {
String name = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
String phonenumber = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
}
cursor.close();
}
我显示所有联系人以回收视图。有些设备有超过一万个联系人。你能建议我如何处理它。
【问题讨论】:
-
我建议你将光标作为一个字段存储在你的类中,一次只返回 100 个。然后,只要你还没有走到尽头,你就会一直要求更多。除了进度条或取消对话框外,这还可以为用户提供一些反馈并允许他们取消。
-
@user2740650 你能提供例子吗?
标签: android