Bon, ça y est, désormais les boutons de mon activité changent les fragments. Une bonne chose de faite. Cependant je suis confronté à un nouveau problème : je n'arrive pas à modifier les textViews de mes fragments.
Pour rappel, j'ai 5 fragments. Le premier (Frag0) contient 2 textViews, je l'invoque au démarrage. Les 4 autres (Frag1, Frag2, etc...) contiennent respectivement 10, 20, 30 et 40 textViews.
Ce que je cherche à faire c'est qu'au clic sur un bouton, le fragment change (ça, c'est bon) et que ses textViews soient remplis avec le texte adéquate.
Pour ce faire, dans Frag3 :
1 2 3 4 5 6 7 8 9
| View mainView = inflater.inflate(R.layout.layoutfrag3, container, false);
public void bouton1(){
titre = (TextView) mainView.findViewById(R.id.titre);
titre.setText("Le titre");
desc = (TextView) mainView.findViewById(R.id.desc);
desc.setText("La description");
...
} |
Ensuite, dans mon activité, dans le onClickListener du bouton1 j'ai mis :
Et là j'ai un message d'erreur d'eclipse : "Cannot make a static reference to the non-static method bouton1() from the type Frag3".
Si je passe bouton1 en public static void bouton1 le message d'erreur disparait. Mais dans Frag3 j'ai une erreur qui disparaît seulement si je déclare mes textViews en static.
Si je laisse comme ça, l'appli plante et me renvoie un NullPointerException dans Frag3 à la ligne
titre = (TextView) mainView.findViewById(R.id.titre);
J'ai cherché une solution sur le net mais je n'ai rien trouvé.
Qu'en pensez-vous ?
Partager