2017-07-13 4 views
0

J'ai un objet appelé self made "MemoryCard", qui a mis en œuvre View.OnClickListener et Serializable et est étendue à Activité.Android Studio: SavedInstanceState d'objet ne fonctionne pas

Je déclare MemoryCard card; comme un champ de données en dehors de ma méthode onCreate() et mon onSaveInstanceState Methode ressemble à ceci:

@Override 
    public void onSaveInstanceState(Bundle outState) { 
     super.onSaveInstanceState(outState); 
     outState.putSerializable("CARD", card); 
    } 

Et dans mon OnCreate se tient

if (savedInstanceState == null) { 
     card = new MemoryCard(this, 0, 1, R.drawable.testImage); // given parameters 
    } 
    else { 
     card = (MemoryCard) savedInstanceState.getSerializable("CARD"); 
    } 

Mais J'ai toujours des exceptions que mon application s'arrête. Ai-je eu quelque chose de mal ou MemoryCard ne doit rien avoir étendu ou mis en œuvre?

+0

Poster LogCat s'il vous plaît –

Répondre

1

Vous devriez mettre avant de super appel de méthode

@Override 
    public void onSaveInstanceState(Bundle outState) { 
     outState.putSerializable("CARD", card); 
     super.onSaveInstanceState(outState); 

    }