안드로이드 개발 질문/답변
(글 수 45,052)
http://www.androidpub.com/899711 선달이님 강좌를 보면
또 오해 하실거 같아서 말씀 드리지만 해당 생명 주기에 따른 처리에 필요한 정보는
History 객체에 들어있는 Intent의 Extra 정보에 저장해 놓으셨다가 이용하시거나
해당 LifeCycle에서 별도로 처리해 주시거나 해 주셔야 합니다.
History 객체에 들어있는 Intent의 Extra 정보에 저장해 놓으셨다가 이용하시거나
해당 LifeCycle에서 별도로 처리해 주시거나 해 주셔야 합니다.
이런글이 있는데
몇일간 혼자 고민하는데 도저히 저게 무슨 말씀인지 모르겠습니다.
아시는분 계시면 힌트좀 주세요




저 방식의 한계가 "뷰를 스택에 쌓는"점에서 나옵니다.
뷰를 스택에 쌓고 Back을 했을때 그 뷰를 표시한다는 점이죠.
문제는 엑티비티 생명주기에 의존적인 코드들이 있을때 단순히 뷰만 왔다갔다 하는 수준에서는 그 코드들이 수행될 수 없습니다.
어떻게든 엑티비티 생명주기 이벤트를 발생시켜야 한다는거죠....
탭에서는 내부적으로 LocalActivityManager를 이용해서 Activity의 생명주기를 거치게끔 합니다.
그걸 우리가 다시 다 구현할 필요는 없을거 같구요....
그래도 가장 나은 방법으로는 탭 인덱스를 stack에 쌓는 방법이 있습니다.
그리고 뒤로 가기 할때는 스택에서 인덱스 꺼내서 setCurrenTab(index) 형태로 쓰시면 됩니다.
문제는 탭 인덱스를 스텍에 쌓는 시점이라던가 스텍의 관리라던가 이런건데...
TabHost하나 상속받아서 구현하면 되지 않을까 하는게 제 생각입니다. (해보진 않아서리 ㅡㅡㅋ)