Question

quelle est la différence entre: myBundle et celui renvoyé par getArguments ()

@Override
public void onCreate(Bundle myBundle) { //on create() belonging to a Fragment
    super.onCreate(myBundle);
    // So myBundle vs getArguments()
}

D'après mon test simple, ils ne sont pas le même objet, j'ai testé ceci avec:

private void compareThem(Bundle myBundle, Bundle arguments) {
    Log.d("---myBundle==null: ", " " + (myBundle==null));
    Log.d("---arguments==null: ", " " + (arguments==null));

    if(myBundle!=null && arguments!=null) {
    Log.d("---myBundle==arguments: ", " " + (myBundle==arguments));
    Log.d("---myBundle.equals(arguments): ", " " + (myBundle.equals(arguments)));
    }
}

Parfois je reçois: faux, vrai, faux, faux parfois: faux, faux, faux, faux Quoi qu'il en soit .. ??

Était-ce utile?

La solution

Le bundle passé dans onCreate() (myBundle dans votre code) est appelé saveInstanceState.Vous pouvez enregistrer certaines données ("état") du fragment dans le bundle dans la méthode onSaveInstanceState() et plus tard, ce bundle sera disponible dans onCreate() et dans d'autres méthodes.

Le bundle renvoyé par la méthode getArguments() estle bundle est passé de l'appelant du fragment.Ce bundle est fourni via la méthode setArguments().

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top