0
여기이 코드를 사용하여 Android 휴대 전화에서 모든 그룹을 검색합니다. 불행히도 일부 Android 휴대 전화에서 충돌이 발생하고 있습니다.Android, ContactsContract.Groups query crash
안드로이드 5.0.0 넥서스 5 (귀상어)
ERROR :이 라인에서
Attempt to invoke interface method 'int android.database.Cursor.getColumnIndex(java.lang.String)' on a null object reference
:
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();
}
}
: 여기
final int IDX_ID = c.getColumnIndex(ContactsContract.Groups._ID);
내 코드입니다 어떻게 해결할 수 있습니까? 감사 !
'c'가 null 인 것을 확인하십시오. –
@shayanpourvatan이 가리키는 것처럼,'c'가'null' 인 이유를 찾아야합니다. [작은 프로그램을 디버깅하는 방법] (http://ericlippert.com/2014/03/05/how-to-debug-small-programs/)을 읽어보십시오. – honk
당신은 그것을 잡으려고하는 것을 의미합니까? 어쩌면이 오류를 고칠 수있는 또 다른 새로운 quary가 있습니까? –