我在 Android 2.2 中制作了一个应用程序,它只在listview
. 所有电话簿、联系人和号码都ListView
带有CheckBox
。当我在 Emulator 2.2 中运行应用程序时,它可以正常工作,但是当我使用真实设备测试应用程序时,它只会显示联系人电子邮件 ID 以及何时CheckBoxes
使用应用程序崩溃。
我想清楚我不会从任何地方调用电子邮件 ID。我已经使用下面的代码来调用从电话簿中获取联系人详细信息。
在 BaseAdapter 类中:
ContentResolver cr = getContentResolver();
cr = context.getContentResolver();
cursor = cr.query(
ContactsContract.Contacts.CONTENT_URI,
null,
null,
null,
null);
public View getView(final int position, View convertView, ViewGroup parentView)
{
if(cursor != null){
while(cursor.moveToNext()){
int nameFiledColumnIndex = cursor.getColumnIndex(
ContactsContract.Contacts.DISPLAY_NAME);
String id = cursor.getString(
cursor.getColumnIndex(ContactsContract.Contacts._ID));
Cursor pCur = cr.query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
null,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = ?",
new String[]{id}, null);
while (pCur.moveToNext()) {
phoneNo = pCur.getString(pCur.getColumnIndex(
ContactsContract.CommonDataKinds.Phone.NUMBER));
}
有人知道我犯了什么错误吗?