메인 액티비티에서 인텐트를 활용해 전화번호부를 가져온뒤 가져오고싶은 정보를 클릭하면 자동으로 정보입력창에 입력되게끔 하는 코드를 짜고싶은데요! ㅠ 전화번호부에서 선택까진되는데 선택한 정보들이 textview로 안넘어가서 뭐가 문젠지 어떻게 고쳐야하는지 봐주세요!ㅠㅠ
이건 자바에서 옵션메뉴 버튼 누르면 넘어가는 인텐트 소스이이구용
mainActivity.java
else if(id == R.id.menu_callregister){
Toast.makeText(this,"주소록 추가",Toast.LENGTH_SHORT).show();
Intent p = new Intent(MainActivity.this,registerActivity.class);
startActivity(p);
Intent intent = new Intent(Intent.ACTION_PICK);
intent.addFlags(intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.setData(ContactsContract.CommonDataKinds.Phone.CONTENT_URI);
startActivityForResult(intent, 0);
return true;
}
요건 사용자정보입력(register.java)
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(resultCode == RESULT_OK) {
Cursor cursor = getContentResolver().query(data.getData(),
new String[]{ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME,
ContactsContract.CommonDataKinds.Phone.NUMBER}, null, null, null);
cursor.moveToFirst();
String name= cursor.getString(0); //0은 이름을 얻어옵니다.
String phone= cursor.getString(1); //1은 번호를 받아옵니다.
TextView et_name =(TextView)findViewById(R.id.name);
EditText phoneNumber = (EditText)findViewById (R.id.phonenumber);
et_name.setText(name);
et_name.append(""+name);
phoneNumber.setText(phone);
cursor.close();
}
super.onActivityResult(requestCode, resultCode, data);
}
}