제가 갤러리를 연습용으로 만드는데, 갤러리는 들어가지는데, 사진을 선택하면 이 아이가 강제종료되더라고요..ㅠ
버튼을 누르면 들어가지는 원리로 만들었습니다.
로그캣에는
03-03 04:09:48.094: E/AndroidRuntime(389): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=0, result=-1, data=Intent { dat=content://media/external/images/media/13 }} to activity {kr.co.hotjellysoftware.FCFN/kr.co.hotjellysoftware.FCFN.CameraT}: java.lang.NullPointerException
라는 표시만 뜹니다..
스압이 약간 있더라도 코드 조금만 보아 주시면 감사하겠습니다..
먼저 protected static final int REQ_CODE_PICK_PICTURE = 0;를 선언하고
Oncreate 에
ImageButton gallery = (ImageButton)findViewById(R.id.gallery_button_id);//앨범 이동 버튼
gallery.setOnClickListener(new ImageButton.OnClickListener() {
public void onClick(View v) {
Intent i = new Intent(Intent.ACTION_PICK);
i.setType(android.provider.MediaStore.Images.Media.CONTENT_TYPE);
i.setData(android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI); // images on the SD card.
// 결과를 리턴하는 Activity 호출
startActivityForResult(i, REQ_CODE_PICK_PICTURE);
}
});
를 넣었습니다.
그리고 밑에는
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQ_CODE_PICK_PICTURE) {
if (resultCode == Activity.RESULT_OK) {
ImageView img = (ImageView)findViewById(R.id.image);
img.setImageURI(data.getData()); // 사진 선택한 사진URI로 연결하기
}
}
}
입니다.