utilizar usar studio simple que make libreria create como android android-mapview android-asynctask toast

usar - ¿Cómo mostrar Toast en Android?



toast make in android (17)

Forma mas simple

toast("Your Message")

O

toast(R.string.some_message)

Solo agrega dos métodos en tu BaseActivity . O crea una nueva BaseActivity si aún no lo estás utilizando.

public class BaseActivity extends AppCompatActivity { public void toast(String msg) { Toast.makeText(this, msg, Toast.LENGTH_SHORT).show(); } public void toast(@StringRes int msg) { Toast.makeText(this, msg, Toast.LENGTH_SHORT).show(); } }

Y extiende todas tus actividades con BaseActivity .

public class MainActivity extends BaseActivity

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á en la parte delantera, puedo manejar eventos táctiles en ese mapa. Cada vez que toco, se AsyncTask una AsyncTask , descarga algunos datos y hace un Toast que muestra los datos. Aunque comienzo la tarea en el evento táctil, no se muestra ningún brindis, no hasta que cierre el control deslizante. Cuando el control deslizante se cierra y el mapa ya no se muestra, aparece Toast .

¿Algunas ideas?

Bien empezar 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 haz un brindis

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

En el nuevo TestTask(this) , esta es una referencia a MapOverlay y no a MapActivity , por lo que este fue el problema.


Sintaxis

Toast.makeText(context, text, duration);

Valor del parámetro

contexto

getApplicationContext() : devuelve el contexto para todas las actividades que se ejecutan en la aplicación.

getBaseContext() : si desea acceder al contexto desde otro contexto dentro de la aplicación, puede acceder.

getContext() : devuelve la vista de contexto solo la actividad en ejecución actual.

texto

text : devuelve "STRING". Si no es una cadena, puede usar type cast.

(string)num // type caste

duración

Toast.LENGTH_SHORT - Retardo de Toast 2000 ms predefinido

Toast.LENGTH_LONG - Retardo de Toast 3500 ms predefinido

milisecond : milisecond definidos por el usuario con retardo de tostado (por ejemplo, 4000)

Ejemplo 1

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

Ejemplo.2

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


Mostrar tostadas del servicio

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

También puede poner el método showToast en su clase de aplicación y mostrar brindis desde cualquier lugar.


Brindar en Android

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

o

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

(LENGTH_SHORT y LENGTH_LONG actúan como indicadores booleanos, lo que significa que no puede enviar el temporizador de tostadas a milisegundos, pero debe usar cualquiera de esas 2 opciones)


Encontré las respuestas aquí, y me atrajo el hecho de que parece haber alguien asomando, creyendo que se requiere un contexto de Actividad. Este no es el caso. Sin embargo, es un requisito que se publique un brindis desde el evento principal o el subproceso de la interfaz de usuario. Por lo tanto, 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 de Context .

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

Tenga en cuenta que no necesitamos acceder a una instancia de Activity para que esto funcione. Por favor, deja de sugerir que este es el caso! Si la Activity fuera necesaria, la firma del método no requeriría un Context .


Esto funcionó para mí:

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


Extendiendo la actividad usando baseadapter usé esto.

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

o si estás utilizando actividad o actividad mainactivity

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


Hay dos maneras de hacerlo.

Utilice el mensaje de Toast incorporado

//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();

o hacer uno personalizado proporcionando un archivo de diseño personalizado

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


He probado varios brindis y para aquellos a los que les está dando el error intentan

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


Manera más simple! (Para mostrar en su actividad principal, reemplace el primer argumento por otra actividad)

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


Para mostrar Toast en su aplicación, intente esto:

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

Otro ejemplo:

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

Podemos definir dos constantes para la duración:

int LENGTH_LONG Muestra la vista o la notificación de texto durante un largo período de tiempo.

int LENGTH_SHORT Muestra la vista o notificación de texto por un corto período de tiempo.

Personalizando tu tostada

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();


Para mostrar Toast usa el siguiente código:

Toast toast = new Toast(getApplicationContext());

toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0); toast.setDuration(Toast.LENGTH_LONG); toast.show();


Puedes personalizar tu 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();

O forma general:

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


Si desea escribir un simple brindis en su actividad: Toast.makeText(getApplicationContext(),"Hello",Toast.LENGTH_SHORT).show();

1.Mostrando TextView en Toast: ---

TextView tv = new TextView(this); tv.setText("Hello!"); tv.setTextSize(30); tv.setTextColor(Color.RED); tv.setBackgroundColor(Color.YELLOW);

2.Mostrando 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.mostrando la disposición como tostada: -

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 desea escribir el brindis en su Async: private Activity activity; private android.content.Context context; this.activity = activity; this.context = context; Toast.makeText(context, "Hello", Toast.LENGTH_SHORT).show();


Si es fragmento,

Toast.makeText(getActivity(), "this is my Toast message!!! =)", Toast.LENGTH_LONG).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(),"your string",Toast.LENGTH_SHORT).show();

En lugar de usar "app.getBaseContext ()".

Puede intentar usar " getApplicationContext () " o " getContext () ".

Si su código está activo, debe usar "this" de "Activty.this".
Si su código está en el fragmento, debe ir a "getActivity ()"