ユーザーが連絡先リストにいる場合、連絡先リストから人を選択することになっているため、連絡先アクティビティが閉じられて 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
}
}