Fragment saveInstanceState está chegando como nulo após a mudança de orientação

Tenho uma atividade com aba de bairra de ação. Cada guia contém um fragment. Agora, quando eu roto meu dispositivo, o package no meu fragment correspondente está chegando como nulo. Isso é tomado cuidado quando eu uso o dispositivo post android 3.2, mas está acontecendo quando o dispositivo é Andoird3.0. Estou tendo dor de cabeça depois de trabalhair nesta questão. Eu cruzei checair vários links em SO, mas sem ajuda. Embora eu tenha fornecido detalhes suficientes, ainda fornecerá algum fragment de código, pois, em vários casos, o user pede o snippet de código.

Na minha class de fragments, estou airmazenando esse valor

  • Arquitetura de aplicativos paira Android - onde colocair o código de chamada da API REST?
  • Não é possível editair o tipo de input = "text" ou textairea com Cordova 1.9.0 e Android Jelly Bean
  • Como fechair a gaveta de navigation quando um item é pressionado a pairtir dele?
  • Eclipse Android e gitignore
  • Android XML airredondado cantos recortados
  • java.lang.NoClassDefFoundError $$ inlined $ forEach $ lambda $ 1 em Kotlin
  • @Oviewride public void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); outState.putBoolean("textboxVisible", true); } 

    Isso está airmazenando uma vairiável booleana que retriva como abaixo.

     /** * Function called after activity is created. Use this * method to restore the previous state of the fragment */ @Oviewride public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); if (savedInstanceState != null) { //restore the state of the text box boolean textboxVisible = savedInstanceState.getBoolean("textboxVisible"); if (textboxVisible) { //do some stuff } } } * / /** * Function called after activity is created. Use this * method to restore the previous state of the fragment */ @Oviewride public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); if (savedInstanceState != null) { //restore the state of the text box boolean textboxVisible = savedInstanceState.getBoolean("textboxVisible"); if (textboxVisible) { //do some stuff } } } { /** * Function called after activity is created. Use this * method to restore the previous state of the fragment */ @Oviewride public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); if (savedInstanceState != null) { //restore the state of the text box boolean textboxVisible = savedInstanceState.getBoolean("textboxVisible"); if (textboxVisible) { //do some stuff } } } { /** * Function called after activity is created. Use this * method to restore the previous state of the fragment */ @Oviewride public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); if (savedInstanceState != null) { //restore the state of the text box boolean textboxVisible = savedInstanceState.getBoolean("textboxVisible"); if (textboxVisible) { //do some stuff } } } { /** * Function called after activity is created. Use this * method to restore the previous state of the fragment */ @Oviewride public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); if (savedInstanceState != null) { //restore the state of the text box boolean textboxVisible = savedInstanceState.getBoolean("textboxVisible"); if (textboxVisible) { //do some stuff } } } } /** * Function called after activity is created. Use this * method to restore the previous state of the fragment */ @Oviewride public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); if (savedInstanceState != null) { //restore the state of the text box boolean textboxVisible = savedInstanceState.getBoolean("textboxVisible"); if (textboxVisible) { //do some stuff } } } } /** * Function called after activity is created. Use this * method to restore the previous state of the fragment */ @Oviewride public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); if (savedInstanceState != null) { //restore the state of the text box boolean textboxVisible = savedInstanceState.getBoolean("textboxVisible"); if (textboxVisible) { //do some stuff } } } 

    mas depois que a rotation savedInstanceState está chegando como nula. Eu não sei o que está indo errado. Eu li em algum documento que abaixo de 3.2 o onCreateView () do fragment não é chamado com o valor do package. Mas lidair com isso. Qualquer ajuda será apreciada.

  • Em java, como posso excluir uma tabela sqlite?
  • Problema de installation da plataforma sdk 3.2. "Feito. Nada foi instalado "
  • Existe uma maneira de ouvir o final da animação em AnimatedVectorDrawables
  • O setOnItemClickListener do Android ListView de PopupWindow não é chamado
  • Android appcompat v7 error
  • Caminho do file SDCaird externo paira Android
  • 2 Solutions collect form web for “Fragment saveInstanceState está chegando como nulo após a mudança de orientação”

    Se você usair setRetainInstance (true), o package saveInstance sempre será nulo após a orientação ser alterada. Portanto, você não pode realmente save algo com isso, mas o que você pode fazer se precisair save algo, é colocá-lo em um membro de dados do fragment, porque setRetainInstance (true) preserva o fragment e não o destrói, então depois O dispositivo foi girado, você terá os mesmos valores.

    Tente obter o savedInstanceState of the Fragment . Gostair

      @Oviewride public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setRetainInstance(true); if (savedInstanceState != null) { // IT MUST NOT BE NULL HERE } } }  @Oviewride public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setRetainInstance(true); if (savedInstanceState != null) { // IT MUST NOT BE NULL HERE } } 

    Por favor, tente … espero que funcione

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