J'ai un curseur qui peut être tiré vers le haut, puis il montre une carte. Je peux déplacer le curseur de haut en bas pour masquer ou afficher la carte. Lorsque la carte est sur le devant, je peux gérer les événements tactiles sur cette carte. Chaque fois que je touche, un AsyncTask
est allumé, il télécharge des données et en fait un Toast
qui affiche les données. Bien que je démarre la tâche lors d'un événement tactile, aucun toast n'est affiché, jusqu'à ce que je ferme le curseur. Lorsque le curseur est fermé et que la carte n'est plus affichée, Toast
apparaît.
Des idées?
Bien commencer la tâche
ÉDITER:
public boolean onTouchEvent(MotionEvent event, MapView mapView){
if (event.getAction() == 1) {
new TestTask(this).execute();
return true;
}else{
return false;
}
}
et onPostExecute
faire un toast
Toast.makeText(app.getBaseContext(),(String)data.result,
Toast.LENGTH_SHORT).show();
Dans new TestTask(this)
, c'est une référence à MapOverlay
et non à MapActivity
, donc c'était le problème.
Toast
, vérifiez-la: stackoverflow.com/a/18280318/1891118Réponses:
Afin d'afficher Toast dans votre application, essayez ceci:
Un autre exemple:
On peut définir deux constantes de durée:
Personnaliser votre toast
la source
Étendre l'activité en utilisant
baseadapter
utilisé ceciou si vous utilisez l'activité ou
mainactivity
la source
Syntaxe
Valeur du paramètre
le contexte
texte
durée
Exemple 1
Exemple.2
la source
Faire griller dans Android
ou
(LENGTH_SHORT et LENGTH_LONG agissent comme des indicateurs booléens - ce qui signifie que vous ne pouvez pas envoyer de toast timer en millisecondes, mais vous devez utiliser l'une de ces 2 options)
la source
Vous pouvez personnaliser votre tost:
Ou manière générale:
la source
J'ai essayé plusieurs toasts et pour ceux à qui leur toast leur donne une erreur, essayez
la source
Il y a deux façons de procéder.
Soit utiliser le message Toast intégré
ou créez-en un personnalisé en fournissant un fichier de mise en page personnalisé
la source
J'ai parcouru les réponses ici et j'ai été attiré par le fait qu'il semble y avoir quelqu'un qui fouille, croyant qu'un contexte d'activité est requis. Ce n'est pas le cas. Cependant, il est obligatoire qu'un Toast soit publié à partir de l'événement principal ou du thread d'interface utilisateur. Donc, faire fonctionner cela en dehors d'un contexte d'activité est un peu délicat. Voici un exemple qui fonctionnerait à l'intérieur d'un service système, ou de toute classe potentielle qui hérite finalement de
Context
.Notez que nous n'avons pas besoin d'accéder à une instance de
Activity
pour que cela fonctionne. Veuillez cesser de suggérer que c'est le cas! SiActivity
nécessaire, la signature de la méthode n'appellerait pas deContext
.la source
au lieu d'utiliser "app.getBaseContext ()".
Vous pouvez essayer d'utiliser " getApplicationContext () " ou " getContext () ".
Si votre code est en activité, vous devez utiliser "ceci" de "Activty.this".
Si votre code est fragmenté, vous devriez opter pour "getActivity ()"
la source
Si c'est un fragment,
la source
Pour afficher Toast, utilisez le code suivant:
Toast toast = new Toast(getApplicationContext());
la source
la source
Manière simple
toast("Your Message")
OU
toast(R.string.some_message)
Ajoutez simplement deux méthodes dans votre
BaseActivity
. Ou créez-en un nouveauBaseActivity
si vous ne l'utilisez pas déjà.et étendre toutes vos activités par
BaseActivity
.la source
Manière la plus simple! (Pour afficher dans votre activité principale, remplacez le premier argument pour une autre activité)
la source
Cela a fonctionné pour moi:
la source
Doit lire: Exemple de toast Android
Syntaxe
Vous pouvez utiliser getApplicationContext () ou getActivity () ou MainActivity.this (si le nom de l'activité est MainActivity)
ou
la source
La façon de commencer
la source
Afficher le toast du service
Vous pouvez également mettre la
showToast
méthode dans votre classe Application et afficher des toasts de n'importe où.la source
Si vous souhaitez rédiger un simple toast dans votre activité:
Toast.makeText(getApplicationContext(),"Hello",Toast.LENGTH_SHORT).show();
1.Affichage de TextView dans Toast: ---
TextView tv = new TextView(this);
tv.setText("Hello!");
tv.setTextSize(30);
tv.setTextColor(Color.RED);
tv.setBackgroundColor(Color.YELLOW);
2.Afficher l'image sous forme de pain grillé: -
ImageView iv = new ImageView(this);
iv.setImageResource(R.drawable.blonde);
Toast t = new Toast(this);
t.setView(iv);
t.setDuration(Toast.LENGTH_LONG);
t.show();
3. affichage de la présentation sous forme de pain grillé: -
LayoutInflater li = getLayoutInflater();
View view = li.inflate(R.layout.my_toast_layout,null,false);
Toast t = new Toast(this);
t.setView(view);
t.setDuration(Toast.LENGTH_LONG);
t.show();
** Si vous souhaitez écrire le toast dans votre Async, alors:
private Activity activity;
private android.content.Context context;
this.activity = activity;
this.context = context;
Toast.makeText(context, "Hello", Toast.LENGTH_SHORT).show();
la source
En voici un autre:
Où
Toast
est:Toast.makeText(getBaseContext(),getText(R.string.refresh_btn_pushed),Toast.LENGTH_LONG).show();
&
strings.xml
:<string name="refresh_btn_pushed">"Refresh was Clicked..."</string>
la source
Fragments intérieurs (onCreateView)
Toast.makeText(getActivity(), "your message" , Toast.LENGTH_LONG).show();
Classes internes (onCreate)
Toast.makeText(myClassName.this, "your message" , Toast.LENGTH_LONG).show();
la source