在这里,我使用这个代码从android手机中检索所有组。不幸的是,我在一些android手机上撞车了。
Android 5.0.0 Nexus 5(锤头)
错误:
尝试在空对象引用上调用接口方法的int android.database.Cursor.getColumnIndex(java.lang.String)‘
在这一行:
final int IDX_ID = c.getColumnIndex(ContactsContract.Groups._ID);这是我的代码:
public void loadGroups() {
if (groupsV.size()==0){
final String[] GROUP_PROJECTION = new String[] {
ContactsContract.Groups._ID, ContactsContract.Groups.TITLE,ContactsContract.Groups.SUMMARY_WITH_PHONES,ContactsContract.Groups.ACCOUNT_TYPE};
Cursor c = getContentResolver().query(ContactsContract.Groups.CONTENT_SUMMARY_URI,GROUP_PROJECTION,ContactsContract.Groups.DELETED+"!='1' AND "+ContactsContract.Groups.GROUP_VISIBLE+"!='0' ",null,null);
final int IDX_ID = c.getColumnIndex(ContactsContract.Groups._ID);
final int IDX_TITLE = c.getColumnIndex(ContactsContract.Groups.TITLE);
while (c.moveToNext()) {
c.getString(IDX_ID);
c.getString(IDX_TITLE);
int users = c.getInt(c.getColumnIndex(ContactsContract.Groups.SUMMARY_WITH_PHONES));
String groupType = c.getString(c.getColumnIndex(ContactsContract.Groups.ACCOUNT_TYPE));
if (users > 0 && groupType.equals("vnd.sec.contact.phone")){
String group = c.getString(IDX_ID)+","+c.getString(IDX_TITLE)+","+users;
groupsV.add(group);
}
}
c.close();
}
}请问如何解决这个问题?谢谢!
发布于 2015-01-04 09:44:16
您在上面的ContactsContract.Groups上进行的查询可能不会在某些手机上返回任何数据。这看起来像是NullPointerException未被正确处理的情况。
https://stackoverflow.com/questions/27763894
复制相似问题