2015-01-22 3 views
2

У меня есть активность со списком данных я обработкой ориентации экрана с:Моя деятельность становится пустой, когда я переключать Автоповорот экрана настройки

@Override 
    protected void onSaveInstanceState(Bundle outState) { 
     super.onSaveInstanceState(outState); 
     uiHelper.onSaveInstanceState(outState); 
     outState.putSerializable("someExpensiveObject", videoEntityList); 

    } 

и

android:configChanges="keyboardHidden|orientation" 

в menifest.

Когда моя активность открыта, и я переключаю автоматическое вращение в настройках устройства, действие становится пустым.

Я не получаю точную причину, может ли какой-нибудь орган мне помочь?

+0

Вы реализовали onConfigurationChanged()? – Shine

+0

да я также пробовал, что – user3759273

+0

Можете ли вы опубликовать свой класс? – JamieB

ответ

0

Потому что у вас есть это в манифесте

android:configChanges="keyboardHidden|orientation" 

Android не будет разрушать и заново создать свою активность при вращении. Поэтому onSaveInstanceState даже не будет вызван.

Либо

  1. Rmove ориентация установки от configChanges и сохранить код для сохранения и восстановления состояния экземпляра. Если вы используете фрагменты, обязательно назовите их setRetainInstance, если вы хотите, чтобы они сохранили изменения ориентации.
  2. Или делать то, что необходимо в onConfigurationChanged (имея в виду, что вам не нужно сохранять/восстанавливать состояние - это то же самое действие).