2016-04-11 2 views
0

J'ai besoin d'aide.Je ne sais pas ce qui est wron ici.Need Saved Instance Données dans le fragment, mais ça ne fonctionne pas pour moi? Quelqu'un peut-il aider? Voici mon code:onSaveInstanceState dans Fragment ne fonctionne pas?

@Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 
     View view = inflater.inflate(R.layout.fragment_main, container, false); 

     if (savedInstanceState == null) { 
      Log.e(getActivity().getClass().getSimpleName(),"DATA is NULL"); 
     }else{ 
      Log.e(getActivity().getClass().getSimpleName(),"DATA IS NOT NULL " + savedInstanceState.getString(Constans.SAMPLEDATA)); 
     } 


@Override 
    public void onSaveInstanceState(Bundle outState) { 
     super.onSaveInstanceState(outState); 
     outState.putParcelable(Constans.MOVIE, movie); 
     outState.putString(Constans.SAMPLEDATA, "sampleData"); 
    } 
+0

Appelez-vous 'super.onSaveInstanceState()' dans l'activité qui gère le fragment? – DeeV

+0

comment savez-vous que cela ne fonctionne pas? – Pooya

Répondre

0

Ajouter super.onSaveInstanceState (outstate);

@Override 
public void onSaveInstanceState(Bundle outState) { 
    outState.putParcelable(Constans.MOVIE, movie); 
    outState.putString(Constans.SAMPLEDATA, "sampleData"); 
    super.onSaveInstanceState(outState); 
} 
+1

pourquoi il y a deux super-appels? – Pooya

+0

Je suis désolé. Je mets à jour ma réponse !!! –

+0

ça ne marche pas pour moi. J'ai écrit ça mais rien ne se passe. –

1

Cela se produit parce que l'écran Faites pivoter votre activité sera recréée ne sorte que le fragment à l'intérieur commence à partir de la position initiale à nouveau comme il a été lancé sur l'activité d'abord lancer

Vous devez ajouter ceci onCreate de votre activité et définir le fragment dans l'instruction if comme cet exemple

if (savedInstanceState == null){ 

     launchfragment 

    } else { 

     // do nothing 
    } 

espérons que cette aide

+0

il n'a rien à voir avec le problème énoncé – Pooya