2012-08-28 15 views
8

No puedo ver el mensaje de brindis en Android 4.1 móvil. Hasta ayer pude ver el mensaje de pan tostado. Desde hoy solo no puedo ver el mensaje. Por favor, ayúdame.Por qué el mensaje de brindis no se muestra en el sistema operativo Android 4.1 que contiene el móvil

Toast.makeText(getApplicationContext(), "hi", Toast.LENGTH_SHORT).show(); 

He intentado personalizar el mensaje de brindis también en lugar del mensaje de brindis. Pero aún no funciona.

tostadas personalizado:

LayoutInflater inflater=getLayoutInflater(); 
View layout = inflater.inflate(R.layout.toast_layout,(ViewGroup) findViewById(R.id.toast_layout_root)); 
TextView text = (TextView) layout.findViewById(R.id.text); 
text.setText("Please fill Name"); 
Toast toast = new Toast(getApplicationContext()); 
toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0); 
toast.setDuration(Toast.LENGTH_LONG); 
toast.setView(layout); 
toast.show(); 
+4

Comparta su código o registre los rastros. – fiddler

+0

si (first_name.length() <1 || nombre apellido == null) \t \t \t { \t \t \t \t Toast.makeText (getApplicationContext() "Rellene Nombre", Toast.LENGTH_SHORT) .show(); \t \t \t \t Utilidades.writeIntoLog ("Por favor complete el nombre"); \t \t \t \t} – AndroidRaji

+0

Acabo de probar esto en un dispositivo 4.1 y funcionó .. ¿Estás seguro de que tu cadena 'first_name' está realmente vacía? – fiddler

Respuesta

8

Cambio a esto y puedes volver a intentarlo.

if(first_name.length() == 0) 
{ 
    Toast.makeText(NameOfYourActivity.this, "Please fill Name", Toast.LENGTH_SHORT).show(); 
    Utilities.writeIntoLog("Please fill Name"); 
} 
+0

veo que puedo ver el mensaje de brindis en galaxy, emulator.Pero no puedo ver en nexus (os 4.1) – AndroidRaji

+0

@AndroidRaji Solo quiero comprobar si este código funciona en nexus (4.1). Así que por favor prueba mi código y avísame si está funcionando o no. –

+0

También debe ejecutar la verificación NULL también. – slybloty

2

Toast funciona bien en todas las versiones de Android. No puede haber par de problemas en su código como

  1. su contexto no es malo
  2. Usted está tratando de mostrar la tostada en el subproceso de fondo en lugar de subproceso de trabajo.

Editar En su tostada costumbre no se establece la matriz de inflado en su diseño, por ejemplo, utilizar, como a continuación

View layout = inflater.inflate(R.layout.toast_layout,null); 
+0

Por favor, dígame qué es el hilo de fondo y el hilo de trabajo. ¿Puede darme el código de ejemplo para ambos? – AndroidRaji

+0

El hilo de trabajo es el hilo principal en el que se ejecuta todo el dibujo y la animación, y también es responsable de actualizar la interfaz de usuario de la aplicación. Puede leer la documentación sobre el hilo principal (IU). En cada aplicación hay un hilo principal y el hilo de fondo son los que crea para el proceso de fondo – Dharmendra

+0

muchas gracias ... – AndroidRaji

7

acaba de publicar el enlace de código Google aquí.

Desde Jelly Bean, los usuarios pueden deshabilitar las notificaciones de una aplicación determinada a través de la configuración de "detalles de la aplicación".

Un efecto secundario muy malo y no deseado es que una vez que los elementos están deshabilitados, los mensajes de Toast también se desactivan, ¡incluso cuando el usuario ejecuta la aplicación!

le animo a utilizar pan tostado en sus directrices de diseño, pero ¿quién va a querer usarlo si los usuarios tienen la posibilidad de eliminarlos, especialmente si el mensaje tostado es una información importante para mostrar al usuario ...

Entiendo al menos que las Tostadas se pueden desactivar cuando la aplicación está en segundo plano, pero no si se trata de la actividad en primer plano.

48

Toast no se muestra conmigo en Android 4.1 porque Mostrar notificaciones se marcó en la configuración de mi aplicación. Acabo de ir a Configuración-> Administrar aplicaciones-> [Mi aplicación] y alternar entre Mostrar notificaciones y Tostadas comenzó a aparecer.

+2

Gracias @herman. Intenté todas las formas de mostrar el mensaje de pan tostado y me quedé atascado, pero tu publicación me ayuda a encontrar el motivo. – Shweta

+2

Me alegra oír eso. Gracias. –

+2

Gracias @hrehman upvote para ti. –

0

Tuve el mismo problema. Cuando invoqué el código en la interfaz de usuario enhebrar el problema resuelto para mí

public void showToastMessage(final String msg) { 

    runOnUiThread(new Runnable() { 
     @Override 
     public void run() { 
      Toast.makeText(BaseActivity.this, msg, Toast.LENGTH_LONG).show(); 
     } 
    }); 
} 
Cuestiones relacionadas