안드로이드 개발 질문/답변
(글 수 45,052)
현재 바탕화면을 새로 고치는 작업을 하고 있습니다.
sd card에서 읽어 온 이미지를 선택 시
application 전체에 바뀐 이미지로 reset되게 만들려고 합니다.
이 것을 위해 이미지 선택 후 확인을 하면
그 때 그 이미지의 path를 파일로 저장해서
다른 activity에서 해당 path를 읽어서 그 이미지를 띄우게 되어있습니다.
여기서 문제가
확인 버튼을 눌러서 새로운 activity를 띄우면 바뀐 배경화면을 인식하지만
뒤로가기 버튼 (제가 만든게 아니라 android 자체에서 제공하는) 을 클릭하면
바뀐 배경화면이 아닌 이 전 배경화면이 뜬다는 것입니다.
제가 생각하는 문제점은 뒤로가기 버튼을 누르기 때문에
새로 저장 된 path를 읽지 않기 때문에 발생한다고 보여집니다.
그래서 invalidate로 layout을 다시 리셋 해줘도
새로 저장된 path를 읽지 않기 때문에 이전 배경화면이 그대로 뜨더군요.
그래서 뒤로가기 버튼을 클릭 할 때 LIstener가 발생하는 지 알고 싶습니다.
만약 그렇다면 거기에 다가 path를 읽는 코드를 넣어서 새로 갱신 된 이미지를
배경화면으로 띄울 수 있을거 같습니다.
이 외에 다른 방법이 있다면 가르쳐 주시면 감사하겠습니다.
sd card에서 읽어 온 이미지를 선택 시
application 전체에 바뀐 이미지로 reset되게 만들려고 합니다.
이 것을 위해 이미지 선택 후 확인을 하면
그 때 그 이미지의 path를 파일로 저장해서
다른 activity에서 해당 path를 읽어서 그 이미지를 띄우게 되어있습니다.
여기서 문제가
확인 버튼을 눌러서 새로운 activity를 띄우면 바뀐 배경화면을 인식하지만
뒤로가기 버튼 (제가 만든게 아니라 android 자체에서 제공하는) 을 클릭하면
바뀐 배경화면이 아닌 이 전 배경화면이 뜬다는 것입니다.
제가 생각하는 문제점은 뒤로가기 버튼을 누르기 때문에
새로 저장 된 path를 읽지 않기 때문에 발생한다고 보여집니다.
그래서 invalidate로 layout을 다시 리셋 해줘도
새로 저장된 path를 읽지 않기 때문에 이전 배경화면이 그대로 뜨더군요.
그래서 뒤로가기 버튼을 클릭 할 때 LIstener가 발생하는 지 알고 싶습니다.
만약 그렇다면 거기에 다가 path를 읽는 코드를 넣어서 새로 갱신 된 이미지를
배경화면으로 띄울 수 있을거 같습니다.
이 외에 다른 방법이 있다면 가르쳐 주시면 감사하겠습니다.

2011.01.17 18:03:18
리스너는 아니고 onBackPress가 발생은 되는데 오버라이드 해서 확인해보시고
만약 onBackPress가 먹통이라면 onKeyDown에서 백버튼 플래그를 찾으셔서
해당플래그일때 작업을 하시면 됩니다. 해결하시기를~



