안드로이드 개발 질문/답변
(글 수 45,052)
우선 제가 작성 중인 소스에 리스너가 2개가 있습니다.
Spinner를 2개 사용해서 초기화를 해주거든요
그 리스너 안에 Canvas를 가진 커스텀 뷰를 생성 시켜 놓았습니다.
그 생성 된 커스텀 뷰를 레이아웃에 넣게 하는 리스너인데.(당연 OnItemSelectedListener로 했습니다.)
근데 중요한게.. 이 리스너를 생성해주는 함수를
onCreate에서도 부르고
onResume에서도 부릅니다.로
실행하면 클래스가 2번 생성(세로 모드에서) 되길래. onCreate에 있는 부분을 삭제 했습니다.
그랬더니...
세로 모드-> 가로 모드로 전환 할때는 잘 되는데
가로 모드-> 세로 모드로 전환 할때는 커스텀 뷰가 보이지 않는 겁니다.
그래서 다시 리스너를 생성하는 함수를 onCreate와 onResume에 넣었더니 가로 모드에서든 세로모드에서든
모두 잘 실행 되었습니다.
질문.
1. 왜 꼭 onCreate와 onResume함수 이 두 함수 모두 설정해 놓지 않으면 안되는 겁니까??(Canvas를 포함하고 있는 커스텀뷰)
2. 그리고 가로 모드-> 세로 모드 전환 할 때는 클래스가 2번 생성되고 세로 모드-> 가로 모드는 1번 생성되는 겁니까??
고수 님들 도와주세요.. 도저히 이해가 안갑니다.
Spinner를 2개 사용해서 초기화를 해주거든요
그 리스너 안에 Canvas를 가진 커스텀 뷰를 생성 시켜 놓았습니다.
그 생성 된 커스텀 뷰를 레이아웃에 넣게 하는 리스너인데.(당연 OnItemSelectedListener로 했습니다.)
근데 중요한게.. 이 리스너를 생성해주는 함수를
onCreate에서도 부르고
onResume에서도 부릅니다.로
실행하면 클래스가 2번 생성(세로 모드에서) 되길래. onCreate에 있는 부분을 삭제 했습니다.
그랬더니...
세로 모드-> 가로 모드로 전환 할때는 잘 되는데
가로 모드-> 세로 모드로 전환 할때는 커스텀 뷰가 보이지 않는 겁니다.
그래서 다시 리스너를 생성하는 함수를 onCreate와 onResume에 넣었더니 가로 모드에서든 세로모드에서든
모두 잘 실행 되었습니다.
질문.
1. 왜 꼭 onCreate와 onResume함수 이 두 함수 모두 설정해 놓지 않으면 안되는 겁니까??(Canvas를 포함하고 있는 커스텀뷰)
2. 그리고 가로 모드-> 세로 모드 전환 할 때는 클래스가 2번 생성되고 세로 모드-> 가로 모드는 1번 생성되는 겁니까??
고수 님들 도와주세요.. 도저히 이해가 안갑니다.
안드로이드 개발자 입니다.
많은 정보 공유 했으면 좋겠습니다^^