Comment afficher Toast dans Android?

J’ai un curseur qui peut être tiré et il montre une carte. Je peux déplacer le curseur de haut en bas pour masquer ou afficher la carte. Lorsque la carte est devant, je peux gérer les événements tactiles sur cette carte. Chaque fois que je touche, un AsyncTask est déclenché, il télécharge certaines données et crée un Toast qui affiche les données. Bien que je commence la tâche sur l’événement tactile, aucun toast n’est affiché, pas jusqu’à ce que je ferme le curseur. Lorsque le curseur est fermé et que la carte n’est plus affichée, le Toast apparaît.

Des idées?

Bien commencer la tâche

MODIFIER:

 public boolean onTouchEvent(MotionEvent event, MapView mapView){ if (event.getAction() == 1) { new TestTask(this).execute(); return true; }else{ return false; } } 

et dans onPostExecute faire un toast

 Toast.makeText(app.getBaseContext(),(Ssortingng)data.result, Toast.LENGTH_SHORT).show(); 

Dans le nouveau TestTask(this) , il s’agit d’une référence à MapOverlay et non à MapActivity . Il s’agissait donc du problème.

Pour afficher Toast dans votre application, essayez ceci:

 Toast.makeText(getActivity(), (Ssortingng)data.result, Toast.LENGTH_LONG).show(); 

Un autre exemple:

 Toast.makeText(getActivity(), "This is my Toast message!", Toast.LENGTH_LONG).show(); 

On peut définir deux constantes pour la durée:

int LENGTH_LONG Affiche la notification ou la notification de texte pendant une longue période.

int LENGTH_SHORT Affiche la notification ou la notification de texte pendant une courte période.

Personnaliser votre pain grillé

 LayoutInflater myInflater = LayoutInflater.from(this); View view = myInflater.inflate(R.layout.your_custom_layout, null); Toast mytoast = new Toast(this); mytoast.setView(view); mytoast.setDuration(Toast.LENGTH_LONG); mytoast.show(); 

L’extension de l’activité à l’aide de baseadapter utilisé

 Toast.makeText(getActivity(), "Your Message", Toast.LENGTH_LONG).show(); 

ou si vous utilisez l’activité ou la mainactivity

 Toast.makeText(MainActivity.this, "Your Message", Toast.LENGTH_LONG).show(); 

Syntaxe

 Toast.makeText(context, text, duration); 

Valeur du paramètre

le contexte

getApplicationContext() – Retourne le contexte pour toutes les activités exécutées dans l’application.

getBaseContext() – Si vous souhaitez accéder au contexte à partir d’un autre contexte de l’application, vous pouvez y accéder.

getContext() – Retourne la vue contextuelle uniquement l’activité en cours d’exécution.

texte

text – Retourne “STRING”, sinon chaîne, vous pouvez utiliser le type cast.

  (ssortingng)num // type caste 

durée

Toast.LENGTH_SHORT – Délai Toast 2000 ms prédéfini

Toast.LENGTH_LONG – Délai Toast 3500 ms prédéfini

milisecond – le milisecond -secondes défini par l’utilisateur de délai de Toast (par ex. 4000)


Exemple 1

 Toast.makeText(getApplicationContext(), "STRING MESSAGE", Toast.LENGTH_LONG).show(); 

Exemple.2

 Toast.makeText(getApplicationContext(), "STRING MESSAGE", 5000).show(); 

Vous pouvez personnaliser votre tost:

 LayoutInflater mInflater=LayoutInflater.from(this); View view=mInflater.inflate(R.layout.your_layout_file,null); Toast toast=new Toast(this); toast.setView(view); toast.setDuration(Toast.LENGTH_LONG); toast.show(); 

Ou de manière générale:

 Toast.makeText(context,"Your message.", Toast.LENGTH_LONG).show(); 

Toast dans Android

 Toast.makeText(MainActivity.this, "YOUR MESSAGE", LENGTH_SHORT).show(); 

ou

 Toast.makeText(MainActivity.this, "YOUR MESSAGE", LENGTH_LONG).show(); 

(LENGTH_SHORT et LENGTH_LONG agissent comme des indicateurs booléens – ce qui signifie que vous ne pouvez pas envoyer de timer de toast aux millisecondes, mais vous devez utiliser l’une de ces deux options)

Il y a deux façons de le faire.

Utilisez le message Toast intégré

 //Toast shown for short period of time Toast.makeText(getApplicationContext(), "Toast Message", Toast.LENGTH_SHORT).show(); //Toast shown for long period of time Toast.makeText(getApplicationContext(), "Toast Message", Toast.LENGTH_LONG).show(); 

ou en créer un personnalisé en fournissant un fichier de mise en page personnalisé

 Toast myToast = new Toast(getApplicationContext()); myToast.setGravity(Gravity.CENTER_VERTICAL, 0, 0); myToast.setDuration(Toast.LENGTH_LONG); myToast.setView(myLayout); myToast.show(); 

J’ai essayé plusieurs toasts et pour ceux que leur toast leur donne l’erreur essayez

 Toast.makeText(getApplicationContext(), "google", Toast.LENGTH_LONG).show(); 

J’ai rencontré les réponses ici, et j’ai été attiré par le fait qu’il semble y avoir quelqu’un qui pense que le contexte de l’activité est nécessaire. Ce n’est pas le cas. Cependant, le Toast doit être publié à partir de l’événement principal ou du thread d’interface utilisateur. Donc, il est un peu difficile de faire en sorte que cela fonctionne en dehors d’un contexte d’activité. Voici un exemple qui fonctionnerait à l’intérieur d’un service système ou de toute classe potentielle qui hériterait de Context .

 public class MyService extends AccessibilityService { public void postToastMessage(final Ssortingng message) { Handler handler = new Handler(Looper.getMainLooper()); handler.post(new Runnable() { @Override public void run() { Toast.makeText(getApplicationContext(), message, Toast.LENGTH_LONG).show(); } }); } } 

Notez que nous n’avons pas besoin d’accéder à une instance d’ Activity pour que cela fonctionne. S’il vous plaît arrêtez de suggérer que c’est le cas! Si Activity était requirejs, la signature de la méthode ne nécessiterait pas de Context .

Si c’est fragment,

 Toast.makeText(getActivity(), "this is my Toast message!!! =)", Toast.LENGTH_LONG).show(); 

Pour afficher Toast, utilisez le code suivant:

Toast toast = new Toast(getApplicationContext());

 toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0); toast.setDuration(Toast.LENGTH_LONG); toast.show(); 
  Toast toast=Toast.makeText(getApplicationContext(),"Hello", Toast.LENGTH_SHORT); toast.setGravity(Gravity.CENTER, 0, 0); // last two args are X and Y are used for setting position toast.setDuration(10000);//you can even use milliseconds to display toast toast.show();**//showing the toast is important** 
 Toast.makeText(app.getBaseContext(),Ssortingng)data.result,Toast.LENGTH_SHORT).show(); 

au lieu d’utiliser “app.getBaseContext ()”.

Vous pouvez essayer d’utiliser ” getApplicationContext () ” ou ” getContext () “.

Si votre code est en activité, vous devez utiliser “this” de “Activty.this”.
Si votre code est en fragment, alors vous devriez aller pour “getActivity ()”

Manière la plus simple! (Pour afficher dans votre activité principale, remplacez le premier argument par une autre activité)

 Button.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View v){ Toast.makeText(MainActivity.this,"Toast Message",Toast.LENGTH_SHORT).show(); } } 

Cela a fonctionné pour moi:

 Toast.makeText(getBaseContext(), "your text here" , Toast.LENGTH_SHORT ).show(); 

Montrer du pain grillé du service

 public class ServiceA extends Service { //.... public void showToast(final Ssortingng message) { Handler handler = new Handler(Looper.getMainLooper()); handler.post(new Runnable() { @Override public void run() { Toast.makeText(getContext(), message, Toast.LENGTH_LONG).show(); } }); } //.... } 

Vous pouvez également mettre la méthode showToast dans votre classe d’application et afficher le toast de n’importe où.