web-dev-qa-db-fra.com

Impossible de résoudre la méthode getActivity ()

  • 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? 

  • La disposition des fichiers de projet créée par moi sur AndroidStudio est la suivante: AndroidStudio Snapshot
17
Akki

Vous pouvez utiliser:

this Or `MainActivity.this`

Au lieu de:

getActivity()
57
zohreh

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.

24
Fantômas

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);
    }
0
Tejas Parmar