I understand pretty well about Android lifecycle. I post here because I\'ve observed one weird behavior, anyway this is my own thought.
My case is like this: One act
Here is why you see this behavior:
Bundle
savedInstanceState
parameter is null.savedInstanceState
parameter.onCreate
returns, Android calls onRestoreInstateState
.id
are trying to restore their state, EditText
restores its state too (actually, that TextView
who restores most of it).onCreate
method is completed) your EditText
control calls setText
on himself in order to restore text that it had just before configuration changed.TextWatcher
that you added in onCreate
method is notified about this change.Just to make this clear, your old TextWatcher, that you added on first call to onCreate
, is not preserved! Its new TextWatcher, that was added on last call to onCreate
, which receives the text change notification.
You can examine TextView.onRestoreInstanceState yourself.
When ever you rotate the device the onCreate method of activity called again.if you want to prevent to call onCreate when rotating the device do the following code in the Manifest
android:configChanges="orientation|keyboardHidden"
and in your activity
public void onConfigurationChanged(Configuration newConfig)
{
super.onConfigurationChanged(newConfig);
if(newConfig.orientation==Configuration.ORIENTATION_LANDSCAPE)
{
}
else if(newConfig.orientation==Configuration.ORIENTATION_PORTRAIT)
{
}
}