Erreur: La méthode non statique 'findViewById (int)' ne peut pas être référencée à partir d'un contexte statique
Je suis en utilisant Android Studio (version Bêta), et en utilisant ce code java dans " onCreateView()', j'obtiens une erreur.
ListView listView = (ListView) findViewById(R.id.someListView);
C'est l'erreur:
Non-static method 'findViewById(int)' cannot be referenced from a static context
Comment puis-je résoudre ce problème?
source d'informationauteur CDuck
Vous devez vous connecter pour publier un commentaire.
En supposant que vous avez un statique fragment interne de la classe à l'intérieur d'une activité: vous êtes à essayer de faire appel à l'activité de l'
findViewById()
qui vous ne pouvez pas être statique intérieur de la classe qui ne possède pas de référence à la société mère.Dans
onCreateView()
vous devez appeler à la racine de la vue que vous venez de gonflé, par exempleonCreateView()
ne devrait pas être une méthode statique (je suis en supposant que vous définissez dans un délai d'une Activité de classe), de sorte que vous devez être en train de faire quelque chose de mal.Vous pouvez mettre en œuvre ce maintenant... Utiliser vue variable pour un accès xml de l'interface utilisateur choses dans oncreateView et getActivity().findViewById(...) pour accéder à d'autres alors onCreateView() la Méthode.
À l'intérieur de l'Activité de la classe
OU
de créer à l'intérieur de fragmentClass(statique)
Si vous l'utilisez dans un statique AsyncTask, ou toute autre catégorie, vous pouvez passer l'activité en tant que paramètre d'une méthode ou d'un constructeur, par exemple:
activité onCreate:
classe à l'intérieur d'activité: