Bonjour, je regardais l'exemple suivant de Fragments sur le site Android.
http://developer.Android.com/guide/components/fragments.html#Example
J'aimerais savoir pourquoi certaines méthodes sont appliquées.
Pourquoi par exemple, dans le detailsFragment
la méthode suivante est effectuée :
public static DetailsFragment newInstance(int index) {
DetailsFragment f = new DetailsFragment();
// Supply index input as an argument.
Bundle args = new Bundle();
args.putInt("index", index);
f.setArguments(args);
return f;
}
Ne pourriez-vous pas aussi simplement instancier le DetailsFragment
et utiliser une méthode setter pour définir index
à la place. En contournant l'ensemble setArguments
.
Quel est l'intérêt d'utiliser setArguments
en premier lieu ? Ne pourriez-vous pas simplement utiliser des setters et des getters ?
3 votes
Récemment, il est devenu courant que la fonctionnalité principale d'une application soit encapsulée dans
Fragments
et on a alorsActivities
gérer essentiellement l'agencement (et la navigation entre) des écrans composés desdits fragments. Avec unActivity
vous pouvez passer unBundle
d'extras dans une intention et y avoir accès immédiatement à partir deonCreate()
.Fragments
ne répondent pas aux intentions, donc à la place vous pouvez utilisersetArguments()
pour lui fournir unBundle
"d'extras" avant qu'il ne soit créé.0 votes
@Karakuri merci c'est utile de le savoir.
1 votes
Jetez un coup d'œil à celui-ci : stackoverflow.com/a/7160253/334493
0 votes
Duplicata possible de Variables membres vs setArguments dans Fragments