Я реализовал onRetainNonConfigurationInstance() в одном из моих действий, чтобы обрабатывать ориентацию экрана Android. Вот код:Android: onRetainNonConfigurationInstance не вызывается при изменении ориентации экрана
@Override
public Object onRetainNonConfigurationInstance() {
Log.d("[DEBUG]", "onRetainNonConfigurationInstance : "
+ this.getClass().getName());
MyState state = new MyState();
return state;
}
Затем я установил приложение на Android-устройство. Вот конфигурация:
Device : Samsung Nexus S
Android version : 4.0.4
Kernel version : 3.0.8-g6656123a[email protected] #1
Когда я отлаживать приложения на телефоне путем изменения ориентации экрана, мой onRetainNonConfigurationInstance() метод не вызывается.
Даже странно, я добавил строку журнала в методе onCreate() моей деятельности. Согласно документации, Android, как предполагается, будет воссоздавать активность, когда происходит ориентация экрана. Так что у меня есть что-то вроде следующего:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mylist);
Log.d(Constants.LOG_TAG, "Oncreate : " + this.getClass().getName());
}
Но и тут OnCreate() метод не называется при изменении ориентации экрана на устройстве.
У вас уже возникла проблема с парнем?
В документации также говорится, что этот метод устарел, и вместо этого я должен использовать что-то, связанное с фрагментами и т. Д. Может ли это быть причиной, почему у меня нет метода?
на самом деле, я реализации для 2.3.3 до 3,0 устройств, но мой Тестовое устройство 4.0.4: Может ли это быть проблема? Я думал, что есть какая-то обратная совместимость между версиями ОС Android.
заранее спасибо,
Просьба поделиться файлом манифеста. – AndroDev