Android 2.2 で 3 つのものだけを表示するアプリケーションを作成しましたlistview
。のすべての電話帳、連絡先、およびListView
番号CheckBox
。エミュレーター 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));
}
私が犯した過ちについて誰か知っていますか?