ImageView 갱신이 안되는데 어떻게 하면 되나요?
화면에 ImageView와 바로 아래에 버튼이 있으며 그 버튼 클릭시 이벤트를 받아서 카메라를 띄우고 사진 찍고 저장하면
그 시점에서 결과를 받아서 생성된 이미지를 ImageView에 보여주게 하는 프로그램입니다.
그런데 실행을 해보면 최초 실행후 화면에 ImageView에 이미지가 없을때 버튼을 누르고 사진을 찍고 저장하면
ImageView에 찍은 사진에 제대로 보여지는데
이미지가 있는 상태에서(즉 두번째 부터) 버튼을 누르고 사진을 찍으면 이전 이미지가 남아 있습니다.
코드상에서 설명을 드리면 <<<<==== 요 라인이 실행이 되고 방금 찍은 사진이미지가 ImageView에 보입니다.
그런데 두번째 부터는 디버그를 해봐도 <<<<==== 요 라인이 실행은 되는데 사진이미지는 안바뀝니다...
실제 찍은 사진 이미지는 Tablet에 있는데 안바뀌네요...
다시 말씀드리면 최초 ImageView에 이미지가 없을때는 setImageURI()로 설정한 이미지가 제대로 보이는데
이미지가 있는 상태에서 하면 이미지가 이전게 계속 남아 있습니다.
ImageView에 이미지를 올리고 갱신을 하려면 어떻게 해야 되는지요?
아래 제 Code를 옵립니다.
@Override
public void onClick(View v) {
if (v.getId() == R.id.picture_button) {
......
startActivityForResult(intent, REQUEST_PICTURE);
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
if (requestCode == REQUEST_PICTURE) {
((ImageView)findViewById(R.id.picture_image)).setImageURI(Uri.parse(mSrcImageFilePath)); <<<<====
((ImageView)findViewById(R.id.picture_image)).invalidate();
}
}
}
참고로 기종은 갤럭시 노트 8.0 이며 Eclipse에서 개발합니다.