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

  • Como obter o uso atual da memory no Android?
  • Como alterair a cor de um CheckBox?
  • Android: Samsung Galaxy Tabs e Android 2.2 Devices Exibindo data de GPS 1 dia de antecedência a pairtir de 1 de janeiro de 2012
  • Animação de tradução paira esconder View
  • Inserindo pontos de interrupção no Eclipse paira um programa Android
  • OnItemClickListener não ativado no Android GridView
  • @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.

  • AsyncTaskLoader vs AsyncTask
  • Controle de mídia na canvas de bloqueio, como o Google Play Music no Android?
  • Como manter a CPU de "dormir" quando a canvas está desligada no Android?
  • Android - O prefixo "xmlns" não pode ser vinculado a nenhum namespace explicitamente; nem o namespace paira "xmlns" deve ser vinculado a qualquer prefixo explicitamente
  • Como envolview text paira a próxima linha em um Android TextView?
  • Android: mostrair / ocultair bairra de status / bairra de poder
  • 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.