오늘 이거 때문에 몇시간을 삽질했는지...



화면이 전환될 때 onCreate가 자동적으로 호출된다는 것은 알고 계실겁니다.

근데 EditText의 경우 글을 쓰다가 화면을 전환해도 그 글자가 그대로 남아있습니다.
OnCreate가 호출되는데 왜 EditText는 초기화되지 않을까?

그 이유는 EditText가 자동적으로 onSaveInstanceState()함수를 호출하기 때문입니다.
근데 항상 위 함수가 호출되는 것은 아닙니다.
어떤 EditText는 초기화가 되고 어떤 것은 초기화 되지 않습니다.


그 차이는 바로....android:id 이것이었습니다.
id를 지정한 EditText의 경우 화면을 전환해도 글자가 남아있지만, 지정하지 않은 경우 초기화 됩니다.


문제는 자동적으로 글자를 남겨주는 것이 대부분의 경우 좋지만, 
화면 전환시 상태를 초기화해야 하는 경우가 있을 수 있습니다.
(글자 뿐만 아니라 Dialog가 떠있는 상태까지 저장해버려서 화면을 전환해도 계속 Dialog가 뜨는 문제가 발생합니다.)

이 경우 

setSaveEnabled(false) 로 지정하시면 상태가 저장되는 것을 방지할 수 있습니다.




저와 같은 문제로 고생하시는 분들에게 도움이 되길 바랍니다~

안녕하세요~반갑습니다!!