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

onCreate() 가 중복 호출되지 않도록 방지하는 방법을 알고 싶습니다.

0 추천
onCreate() 의 super() 호출 이후 부터 setContentView() 사이에

이전 액티비티에서 전달받은 이미지 가로/세로 비율을 판단하고

setRequestedOrientation() 호출하여

화면을 세로모드로 둘 것인지 가로모드로 전환할 것인지 결정하도록 만들었습니다.

setContentView() 로 호출하는 레이아웃 리소스를 -port, -land 로 이원화하였거든요.

그런데 가로 모드가 결정될 때 마다 onCreate() 가 한번 더 호출되어

중복으로 액티비티 초기화가 진행됩니다.

Manifest 에 android:configChanges="orientation" 이라고 삽입해도 소용 없더군요.

이와같은 경우 중복호출을 방지하려면 어떻게 해야하나요?

답변 부탁드립니다.
THK (2,360 포인트) 님이 2018년 1월 22일 질문

1개의 답변

+1 추천
 
채택된 답변
아래처럼 해보세요.

android:configChanges="orientation|keyboardHidden|keyboard|screenSize"
익명사용자 님이 2018년 1월 22일 답변
THK님이 2018년 1월 22일 채택됨
알려주신 네가지를 각각 적용해보니 screenSize 가 원인이었네요. 답변 감사합니다. 덕분에 해결되었습니다.
...