L'affichage d'un Toast de message à partir de la classe d'Application
J'ai plusieurs classes dans mon application. Certains sont des Activités, des Services et Pure des classes java. Je sais que je peux afficher un Toast message dans une Activité mais j'aimerais afficher un Toast à partir d'une pure classe java.
Dans la classe java je passe un contexte pour le constructeur, mais cela ne semble pas montrer le toast.
J'ai créé une méthode dans la classe d'Application qui prend une Chaîne de caractères comme argument, en espérant que j'ai pu générer un Toast à l'aide de l'Application de contexte, pas de joie ici.
Comment puis-je générer un Toast à partir d'une classe qui n'est pas un service ou d'une Activité, etc.
public class LoginValidate{
public LoginValidate(Context context) {
this.context = context;
nfcscannerapplication = (NfcScannerApplication) context
.getApplicationContext();
}
public void someMethod(){
nfcscannerapplication.showToastMessage(result);
}
}
.
///puis, dans ma classe d'Application
public void showToastMessage(String message){
Toast.makeText(this.getApplictionContext(), "Encountered a problem with sending tag: " + message, Toast.LENGTH_LONG).show();
}
édité
avez-vous essayé ma solution??
Salut, oui j'ai essayé et ça ne s'affiche pas le message, mais le Toast message ne disparaît pas. Il reste sur l'écran même si j'ai quitter l'application. Comment puis-je supprimer le message après quelques secondes. J'ai lu quelque part que c'est à faire avec la création du pain grillé à l'extérieur d'un contexte??
toast message beau disparaître après leur un peu de temps..vous n'avez pas de supprimer le toast message après un certain temps..
OriginalL'auteur turtleboy | 2013-12-23
Vous devez vous connecter pour publier un commentaire.
D'abord créer une Application de classe comme ça..
appeler cette méthode à partir de votre classe comme
ApplicationContext.showToast("your string");
être prudent quant à l'objet de contexte de fuite..
java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.Resources android.content.Context.getResources()' on a null object reference
votre chaîne est nulle..comment vous êtes de passage à la chaîne??
OriginalL'auteur kalyan pvs
Il y a deux façons que vous pouvez faire, si vous avez un contexte valide, vous pouvez le faire comme @CapDroid a écrit:
si vous ne le faites pas, vous pouvez envoyer un Contexte aussi bien,
Notez que vous pouvez définir un Contexte statique dans votre Application.java et l'utiliser pour appeler des shoh toast.
espère que ça aide.
OriginalL'auteur Shahar
Écrire cette méthode dans votre Classe d'Application. Vous avez juste besoin de passer un message en paramètre de toute Activité.
cela fonctionne pour moi..
Salut, je suis aussi de ne pas appeler le toast message dans une Activité. Je vais appeler le Toast à partir d'une simple classe Java. C'est pourquoi il ne s'affiche pas.
sans contexte reff vous ne pouvez pas montrer toast.. vous devez avoir besoin de passer contexte de l'activité et à la non-activité de la classe
OriginalL'auteur Niranj Patel
Besoin de passer le contexte de la
showToastMessage(String message)
Comme ce
showToastMessage(String message, Context context)
//puis, dans ma classe d'Application
OriginalL'auteur Vimalathithan A
Il a travaillé pour moi avec :
OriginalL'auteur Guest123
OriginalL'auteur ashish