Tengo un control deslizante que se puede levantar y luego muestra un mapa. Puedo mover el control deslizante hacia arriba y hacia abajo para ocultar o mostrar el mapa. Cuando el mapa está al frente, puedo manejar eventos táctiles en ese mapa. Cada vez que toco, AsyncTask
se activa a, descarga algunos datos y crea un Toast
que muestra los datos. Aunque comienzo la tarea en el evento táctil, no se muestra ninguna tostada, no hasta que cierre el control deslizante. Cuando el control deslizante está cerrado y el mapa ya no se muestra, Toast
aparece.
¿Algunas ideas?
Bueno comienza la tarea
EDITAR:
public boolean onTouchEvent(MotionEvent event, MapView mapView){
if (event.getAction() == 1) {
new TestTask(this).execute();
return true;
}else{
return false;
}
}
y en onPostExecute
hacer un brindis
Toast.makeText(app.getBaseContext(),(String)data.result,
Toast.LENGTH_SHORT).show();
En nuevo TestTask(this)
, esto es una referencia MapOverlay
y no a MapActivity
, por lo que este fue el problema.
android
android-mapview
android-asynctask
toast
Voto a favor
fuente
fuente
Toast
, compruébelo: stackoverflow.com/a/18280318/1891118Respuestas:
Para mostrar Toast en su aplicación, intente esto:
Otro ejemplo:
Podemos definir dos constantes para la duración:
Personalizando tu tostada
fuente
Ampliando la actividad usando
baseadapter
esto usadoo si estás usando actividad o
mainactivity
fuente
Sintaxis
Valor del parámetro
contexto
texto
duración
Ejemplo 1
Ejemplo 2
fuente
Brindar en Android
o
(LENGTH_SHORT y LENGTH_LONG están actuando como banderas booleanas, lo que significa que no puede enviar el temporizador de tostadas a milisegundos, pero debe usar cualquiera de esas 2 opciones)
fuente
Puedes personalizar tu tost:
O forma general:
fuente
He probado varias tostadas y para aquellos a quienes su tostada les está dando error, intenten
fuente
Hay dos maneras de hacerlo.
Utilice el mensaje incorporado de Toast
o hacer uno personalizado proporcionando un archivo de diseño personalizado
fuente
Me encontré con las respuestas aquí, y me atrajo el hecho de que parece haber alguien hurgando, creyendo que se requiere un contexto de Actividad. Este no es el caso. Sin embargo, es un requisito que se publique un Toast desde el evento principal o Hilo de interfaz de usuario. Entonces, hacer que esto funcione fuera del contexto de una actividad es un poco complicado. Aquí hay un ejemplo que funcionaría dentro de un servicio del sistema, o cualquier clase potencial que finalmente herede
Context
.Tenga en cuenta que no necesitamos acceso a una instancia de
Activity
para que esto funcione. ¡Por favor, deja de sugerir que este es el caso! SiActivity
fuera necesario, la firma del método no requeriría aContext
.fuente
en lugar de usar "app.getBaseContext ()".
Puede intentar usar " getApplicationContext () " o " getContext () ".
Si su código está en actividad, entonces debe usar "this" de "Activty.this".
Si su código está fragmentado, entonces debería ir a "getActivity ()"
fuente
Si es fragmento,
fuente
Para mostrar Toast use el siguiente código:
Toast toast = new Toast(getApplicationContext());
fuente
fuente
Manera simple
toast("Your Message")
O
toast(R.string.some_message)
Simplemente agregue dos métodos en su
BaseActivity
. O cree uno nuevoBaseActivity
si aún no lo está utilizando.y extienda todas sus actividades por
BaseActivity
.fuente
La forma más simple! (Para mostrar en su actividad principal, reemplace el primer argumento por otra actividad)
fuente
Esto funcionó para mí:
fuente
Debe leer: ejemplo de Android Toast
Sintaxis
Puede usar getApplicationContext () o getActivity () o MainActivity.this (si el nombre de la actividad es MainActivity)
o
fuente
La manera de comenzar
fuente
Mostrar brindis del servicio
También puede poner el
showToast
método en su clase de aplicación y mostrar tostadas desde cualquier lugar.fuente
Si quieres escribir un simple brindis en tu actividad:
Toast.makeText(getApplicationContext(),"Hello",Toast.LENGTH_SHORT).show();
1.Mostrar TextView en Toast: ---
TextView tv = new TextView(this);
tv.setText("Hello!");
tv.setTextSize(30);
tv.setTextColor(Color.RED);
tv.setBackgroundColor(Color.YELLOW);
2.Mostrar imagen como tostada: -
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.Muestra el diseño como tostadas: -
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 quieres escribir el brindis en tu Async entonces:
private Activity activity;
private android.content.Context context;
this.activity = activity;
this.context = context;
Toast.makeText(context, "Hello", Toast.LENGTH_SHORT).show();
fuente
Aqui hay otro más:
Donde
Toast
es:Toast.makeText(getBaseContext(),getText(R.string.refresh_btn_pushed),Toast.LENGTH_LONG).show();
&
strings.xml
:<string name="refresh_btn_pushed">"Refresh was Clicked..."</string>
fuente
Fragmentos internos (onCreateView)
Toast.makeText(getActivity(), "your message" , Toast.LENGTH_LONG).show();
Clases internas (onCreate)
Toast.makeText(myClassName.this, "your message" , Toast.LENGTH_LONG).show();
fuente