마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 생명주기때문에 질문올려요..

0 추천
현재 액티비티1에서 버튼을 누르면 intent하여 액티비티2로 가게되고

액티비티2에서 버튼을 누르면 액티비티 1으로 돌아오면서 액티비티1에 있던 버튼의 이미지가 바뀌는 프로그램입니다.

그리고 바뀐버튼의 이미지를 SharedPreferenece를 이용해 저장하여 바뀐이미지를 영구저장 하는 코드입니다.

그러면 액티비티가

                                           액티비티1

                      액티비티2    액티비티2

액티비티1     액티비티1     액티비티1   

이렇게 쌓이게 되는데요  그러면 맨처음에 열엇던 액티비티1이 남아있어서 뒤로가기 백버튼을 클릭하다보면

액티비티1이 버튼이미지가 바뀌지 않은채로 그대로 남아있습니다.

그래서 액티비티1에서 액티비티2 버튼 클릭시 finish()를 해줬더니..아예 사라져버려서 종료가 되버립니다.

이걸 어떻게 해결해야할까요?
부개동지킴이 (590 포인트) 님이 2013년 11월 12일 질문

3개의 답변

+1 추천
저런 경우라면...

Activity callback을 이용하는게 좋겠네요..

startActivityForResult
libre2k (7,420 포인트) 님이 2013년 11월 12일 답변
startActivityForResult 로 어떤값을 넘겨주라는 말이죠?? ㅠㅠ
0 추천
startActivityForResult 로 어떤값을 넘겨주라는 말이죠?? ㅠㅠ

어떻게 구현하라는건지 잘모르겟어요 ㅠ
부개동지킴이 (590 포인트) 님이 2013년 11월 12일 답변
0 추천

액티비티1에서 액티비티2를 호출할때 startActivity 말고 startActivityForResult를 사용하세요.

2가 종료될 때 1로 일정 내용을 전달할 수 있습니다.

액티비티2가 종료될 떄 setResult 메서드로 전달할 값을 설정해주는건데요

startActivityForResult로 검색하면 많이 나옵니다.

http://blog.naver.com/my464?Redirect=Log&logNo=150177933056

 

ire (3,900 포인트) 님이 2013년 11월 12일 답변
ㅎㅎ 해결했습니다. 감사합니다.
...