9
votes

Comment faire un toast d'une classe non d'activité?

J'ai une classe que j'utilise pour obtenir des données GPS dans mon activité. Dans le constructeur, je transmet le contexte de l'activité: xxx

et dans la classe GPSFetcher, j'ai: xxx

ou juste xxx

puis j'appelle le toast avec: xxx

mais il ne montre jamais quelque chose qui me manque? Est-ce possible?

Merci!


2 commentaires

Appelez-vous toast.show (); ? Sinon, il s'agit d'un duplicata de Stackoverflow.com/questions/3466087/...


Non, voir la réponse ci-dessous ... Facepalm. Merci.


4 Réponses :


12
votes

oubliez-vous toast # show code>?

Toast toast = Toast.makeText(context, "sometext", Toast.LENGTH_LONG);
toast.show();


1 commentaires

Doh! Oui, c'est le problème ... je l'avais même mis dans d'autres endroits où je n'étais tout simplement pas à eux parce que je m'arrêtais quand celui-ci ne s'est pas présenté! Lundi ... merci!



0
votes

J'ai rencontré la même question mais je l'ai résolu. !! Dans la classe non-activité, vous annoncez simplement une "chaîne statique publique". Ensuite, dans votre principale activité ou une autre activité, vous pouvez utiliser directement Toast.

Dans mon cas, je déclare une classe non-activité mastiquéeB. Donc, je déclare chaîne statique publique S dans la classe. (Vous pouvez modifier la valeur de s dans la classe. Puis dans ma maigreactivité, je vous annonce xxx

Ça fonctionne bien.


1 commentaires

2
votes

Vous devez appeler show () aussi:

toast.maketext (contexte "," topext ", toast.longueur_long) .Show ();


0 commentaires

0
votes

Pour afficher un toast dans une classe Java sans activité, ajoutez le contexte dans le constructeur de la classe Java

[ici Prizemethods est ma classe Java] p> xxx pré>

Et où vous instanez cette classe dans votre activité (en faisant un objet, l'utiliser dans votre activité principale), ajoutez le contexte sous forme de paramètre. p>

comme ceci: p>

 Toast.makeText(context, "toast inside class!!", Toast.LENGTH_SHORT).show();


0 commentaires