当我尝试从手机的联系人列表中获取电话号码时,遇到了问题。问题是,当我在手机的联系人列表为空时运行应用程序,应用程序会停止运行。我检查了一下,发现这是因为光标为空造成的。
我该如何检查光标是否为空或者手机的联系人列表中是否有任何联系人呢?
我该如何检查光标是否为空或者手机的联系人列表中是否有任何联系人呢?
ArrayList<String> lstPhoneNumber = new ArrayList<String>();
Cursor phones = getContentResolver().query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,null,null, null);
lstPhoneNumber = new ArrayList<String>();
phones.moveToFirst();
// The problematic Line:
lstPhoneNumber.add(phones.getString(phones.getColumnIndex(
ContactsContract.CommonDataKinds.Phone.NUMBER)));
while (phones.moveToNext()) {
lstPhoneNumber.add(phones.getString(phones.getColumnIndex(
ContactsContract.CommonDataKinds.Phone.NUMBER)));
}
phones.close();