读取 Android 个联系人时出错
Error when read Android contacts
我从 Whosebug 获得了这个片段:
Cursor people = getContentResolver().query(
ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
try{
while (people.moveToNext()) {
int nameFieldColumnIndex = people
.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME);
String contact = people.getString(nameFieldColumnIndex);
int numberFieldColumnIndex = people.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER);
String number = people.getString(numberFieldColumnIndex);
System.out.println(contact + "-" + number);
}
}catch(Exception e){
System.out.println(e);
}
people.close();
当我尝试读取 phoneNum
列时,使用 String number = people.getString(numberFieldColumnIndex)
时出现错误。检查列索引我发现 numberFiledColomnIndex = -1
.
我怎样才能使这个代码段起作用?
根据 documentation,getColumnIndex() returns -1 当列不存在时。
问:您传递的列名是否正确?拼写是否正确?
我从 Whosebug 获得了这个片段:
Cursor people = getContentResolver().query(
ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
try{
while (people.moveToNext()) {
int nameFieldColumnIndex = people
.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME);
String contact = people.getString(nameFieldColumnIndex);
int numberFieldColumnIndex = people.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER);
String number = people.getString(numberFieldColumnIndex);
System.out.println(contact + "-" + number);
}
}catch(Exception e){
System.out.println(e);
}
people.close();
当我尝试读取 phoneNum
列时,使用 String number = people.getString(numberFieldColumnIndex)
时出现错误。检查列索引我发现 numberFiledColomnIndex = -1
.
我怎样才能使这个代码段起作用?
根据 documentation,getColumnIndex() returns -1 当列不存在时。
问:您传递的列名是否正确?拼写是否正确?