관계, Networking 그리고 Programming

finishActivity()는 셀프 종료가 아니다.

androbook 본캐 2013. 6. 12. 16:53

아항항항. 오늘 이런 쓸데없는 걸로 1시간 반이나 삽질을 했다. 아항항항항항항...... ( _ _) 옌장.


흔히 현재의 activity를 스스로 강제 종료하기 위해 finish() 함수를 사용한다. 안드로이드를 개발하면서 나는 현재 관련한 책 한권과, 안드로이드 공식 개발자 사이트, google 검색질 이렇게 3가지에 의존한 학습을 하고 있는데,(아, 가끔은 네*버 검색을 시도하기도 한다. 하지만 매번 그 검색에서는 만족할 만한 결과를 찾지 못하기에...) startActivityForResult를 통해 open 한 activity를 종료시킬 때에는 finishActivity()를 사용하라기에 그렇게 구현을 해 놓았는데....


Activity가 종료가 안되는 거다. 이건 모다? 하고서 검색질을 해 봐도 확 보이는 답이 없다. 해서 다시 안드로이드 개발자 사이트로 돌아가 정의를 뚫어져라 노려본다.








아하.








개발자 사이트 발췌:

 void

 finish()

Call this when your activity is done and should be closed.

 void

 finishActivity(int requestCode)

Force finish another activity that you had previously started with startActivityForResult(Intent, int).




보이는가, 저 정의가? 

다시 잘 노려본 결과 다음의 중요 부분을 다시금 확인했다.


Force finish another activity that you had previously started ...


Force finish another activity that you had previously started ...


Force finish another activity that you had previously ...




즉, finishActivity() 함수는 현재 자신 Activity를 종료 시키기 위한 함수가 아니라, 자신이 startActivityForResult()함수를 통해 생성했던 다른 activity들을 종료시키기 위한 함수라는 거다. 아 뭐야 이거.





하하하하하하하하ㅏ하하하하하하하하하...



















너 이자식 똑바로 해라. 제대로 안 보고 삽질했잖아. ㅠㅠㅠㅠ @&#^$*#&^&^#@#@....그래서 바로 finishActivity()를 지우고 onBackPressed()함수를 사용했다는 결론.