Je suis nouveau sur Android et j'apprends à créer des fragments dans Android en suivant cette
exemple: Tiroir de navigation pour fragments
Le code entre Navigation entre les éléments de menu et Ajouter un en-tête de navigation consiste en une méthode getActivity()
.
Comme l'auteur n'a pas indiqué où coller ce code, j'ai collé dans mon fichier MainActivity.Java
Le code entre Naviguer entre les éléments de menu et Ajouter un en-tête de navigation est-il collé à l'emplacement correct par moi?
Dans la méthode selectDrawerItem(MenuItem menuItem)
, il y a un commentaire // Create a new fragment and specify the planet to show based on position
Est-ce que l'auteur s'attend à ce que je rajoute quelque chose ici?
Vous pouvez utiliser:
this Or `MainActivity.this`
Au lieu de:
getActivity()
Une activité n'a pas de méthode getActivity()
.
Les fragments ont.
Parce que getActivity()
dit: "renvoie l'activité qui me contient".
Et même si les activités sont contenues dans des éléments, les activités elles-mêmes ne le sont pas.
Dans Fragment, il est préférable d'utiliser la méthode onAttach () pour obtenir l'instance d'une activité qui y est attachée.
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
}