0

ユーザーが連絡先リストにいる場合、連絡先リストから人を選択することになっているため、連絡先アクティビティが閉じられて onActivityResult(); が呼び出されます。しかし、連絡先ページの上隅にある [戻る] ボタンまたは [キャンセル] ボタンをクリックすると、カーソルが null になり、null ポインター例外が発生します。そしてアイデア?

コード:

selectContactButton.setOnClickListener(new OnClickListener()
        {

            public void onClick(View v)
            {
                Intent intent = new Intent(Intent.ACTION_PICK);
                 intent.setType(ContactsContract.Contacts.CONTENT_TYPE);
                 startActivityForResult(intent, PICK_CONTACT);
            }
        });


public void onActivityResult(int requestCode, int resultCode, Intent intent) 
    {

      if (requestCode == PICK_CONTACT)   //I tried to do if intent!=null then run this codes but there is the same error
      {         

          Cursor cursor =  managedQuery(intent.getData(), null, null, null, null);
          cursor.moveToNext();

           String  name = cursor.getString(cursor.getColumnIndexOrThrow(ContactsContract.Contacts.DISPLAY_NAME)); 

          editName.setText(name); //edittext view

      }

    }
4

1 に答える 1

0

カーソルで moveToFirst を呼び出し、返される値をテストします。

于 2012-08-13T02:47:27.867 に答える