82 votes

savedInstanceState est toujours nul

Voici mon code savedInstaceState :

@Override
public void onSaveInstanceState(Bundle savedInstanceState) 
{
    savedInstanceState.putStringArrayList("todo_arraylist", Altodo);
    Log.v("bundle", "Saved");
    super.onSaveInstanceState(savedInstanceState);
}

public void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);

    if (savedInstanceState != null) 
    {
        Altodo = savedInstanceState.getStringArrayList("todo_arraylist");
        Log.v("bundle", "Restored");
    }
    else
    {
        Log.v("bundle", "null");
    }

    setContentView(R.layout.main);
}

Les journaux montrent toujours la balise "bundle save".

Mais en onCreate méthode, SavedInstanceState est toujours nul.

2 votes

Vous devez appeler super.onSaveInstanceState(savedInstanceState) avant d'ajouter vos valeurs au Bundle, sinon elles seront effacées lors de cet appel (Droid X Android 2.2).

2 votes

J'ai le même problème et je peux confirmer que cela ne fonctionne pas. Quelqu'un l'a déjà résolu ?

0voto

Horácio Comé Points 1

Je me suis débrouillé de la même manière. Au lieu de traiter le Bundle savedInstanceState sur la méthode onCreateView, je l'ai traité sur la méthode onCreate et j'ai mis la valeur passée dans une variable globar puis j'ai accédé à cette variable sur la méthode onCreateView. J'espère que cela vous aidera.

0voto

In New Oat Points 1

https://developer.Android.com/guide/topics/manifest/activity-element#lmode

Vous pouvez voir que "De même, si vous naviguez vers une activité de la pile actuelle, le comportement est déterminé par le mode de lancement de l'activité parente". Vous êtes peut-être en mode "standard".

0voto

Chuck Points 159

J'ai pu le résoudre avec :

@Override public boolean onSupportNavigateUp()
{
    onBackPressed();
    return true;
}

avait toujours le paramètre parent dans le manifeste. Donc, lorsque vous appuyez sur le bouton de navigation vers le haut, il agit maintenant comme le bouton retour.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X