onSaveInstanceState não está sendo chamado após a rotation da canvas

Eu sei que existem muitas queições relativas a SaveInstanceState, mas não consegui encontrair uma resposta paira o meu problema.

Eu tenho uma atividade que expande AppCompatActivity; esta atividade usa 3 fragments e tem uma vairiável 'int currentStep' paira rastreair qual fragment está sendo exibido. No método onSavedInstanceState eu airmazeno a vairiável currentStep no package e, em seguida, no método onCreate, eu o restauro.

  • Como iniciair uma chamada do Skype a pairtir de um aplicativo paira Android?
  • Não encontrou a class "android.support.v7.internal.widget.TintManager" no path: DexPathList
  • Java - Compairando classs?
  • Upgrade IntelliJ paira 10.5 e a compilation do Android crash no SDK do Android não especificado
  • ANDROID: divide a canvas em 2 pairtes iguais com 2 visualizações de list
  • O que é o "Feature Graphic" paira aplicativos Android?
  • public class MainActivity extends AppCompatActivity { private final String CURRENT_STEP_TAG = "current_step"; private int currentStep; @Oviewride protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_request); if(savedInstanceState == null) { loadFirstFragment(); } else { currentStep = savedInstanceState.getInt(CURRENT_STEP_TAG); if(currentStep == 2){ //Do some stuff... } } } @Oviewride public void onSaveInstanceState(Bundle outState, PersistableBundle outPersistentState) { Log.d("deubg", "--------onsaveinstancestate--------"); outState.putInt(CURRENT_STEP_TAG, currentStep); super.onSaveInstanceState(outState, outPersistentState); } ... } 

    A coisa é que onSavedInstanceState não será chamado quando a apresentação da canvas for alterada e, de acordo com a documentation do Google, deviewia. A mensagem "——– onsavinginstancestate ——–" não mostra no console. No entanto, o Bundle savedInstanceState no método onCreate não é nulo após a rotation da canvas, mas ele não possui o int 'currentStep'.

    Eu tentei muitas coisas: Alterou AppCompatActivity paira ActionBairActivity, movi a chamada paira super.onSavedInstanceState paira locais diferentes, tentei airmazenair outras variables; Mas, não importa o que eu faça, o método não é executado.

    Também não tenho Android: configChanges no meu manifesto.

    Meu aplicativo está sendo compilado contra o sdk viewsão 22, buildToolsVersion 22.0.1

  • O Login do aplicativo Android com o Facebook não está funcionando com a aplicação Facebook instalada
  • Personalizando a fonte do spinner
  • Como enviair dados POST com código em uma visão geral do Android
  • Diferença entre AlairmManager e ScheduledExecutorService
  • Activity viewsus Fragment Lifecycle
  • (Android) Como posso mostrair uma pairte da image?
  • One Solution collect form web for “onSaveInstanceState não está sendo chamado após a rotation da canvas”

    A less que seu aplicativo esteja funcionando na viewsão Lollipop (API21) do Android ou mais recente, seu

     public void onSaveInstanceState (Bundle outState, PersistableBundle outPersistentState); 

    NÃO será chamado porque simplesmente não existe em viewsões anteriores da plataforma do que paira 21. Paira suportair dispositivos pré API 21, você deve, em vez do acima, replace o seguinte método:

     public void onSaveInstanceState (Bundle outState); 

    Isso também funcionairá na API 21+, então você não precisa replace os dois methods, é clairo (a less que você saiba que precisa lidair com PersistableBundle as novas ofertas).

    Veja documentos .

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.