是否可以从我的应用程序中的联系人列表中读取多个联系人。 我发现的是如何接收联系人列表并在列表中循环。
How to read contacts on Android 2.0
但是可以从contacts列表中选择其中一些。我需要创建一个单独的布局来选择我选择的联系人,并使用联系人列表中的数据加载该布局?请帮忙。
答案 0 :(得分:0)
显然,你可以从联系人列表中选择你选择的联系人。但是你只需要在查询中找到一个合适的“where”子句(即你想从列表中找到什么类型的联系人)。
是的,你需要创建单独的布局来显示它们。
例如:通过电话号码获取联系人
Cursor cursor = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI,null, ContactsContract.Contacts.HAS_PHONE_NUMBER+"='true'", null, null); // gives you the list of contacts who has phone numbers
while (cursor.moveToNext()) {
String contactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));
Cursor phones = getContentResolver().query( ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = "+ contactId, null, null);
while (phones.moveToNext()) {
String phoneNumber = phones.getString(phones.getColumnIndex( ContactsContract.CommonDataKinds.Phone.NUMBER));
}
phones.close();
}
希望,我能正确得到您的要求。如果没有,请告诉我!
答案 1 :(得分:-1)
基本上,您需要使用其唯一的迭代遍历所有联系人 id名为contact_id。
避免在循环中使用游标内的游标。
试试这个演示应用。看看它以适当的安卓方式读取联系人的速度有多快