Android Toast Mensajes no funcionan

Estoy desarrollando un juego a través de Andengine para Android. Tengo MainActivity clase y GameScene clase. Utilizo los mensajes Toast en GameActivity. Y está funcionando.

Toast.makeText(this, " Hello World", Toast.LENGTH_SHORT).show(); 

Así que quiero usar los mensajes Toast en la clase GameScene. Pero no funciona. Aquí está el código:

 Toast.makeText(activity, " Hello World", Toast.LENGTH_SHORT).show(); 

Tengo que usar "actividad" en lugar de "esto". Pero no funciona

¿por qué?

EDITADO:

Cuando uso el segundo, se produce un error. LogCat: http://s29.postimg.org/k8faj9mdj/Capture.png

Está intentando mostrar un Toast en un subproceso de fondo. Debe realizar todas las operaciones de la interfaz de usuario en el subproceso principal de la interfaz de usuario.

La excepción RuntimeException: Can't create handler inside thread that has not called Looper.prepare() puede ser un poco críptico para los principiantes, pero esencialmente le dice que usted está en un hilo equivocado.

Para resolverlo, envuelva el brindis por ejemplo runOnUiThread() :

 activity.runOnUiThread(new Runnable() { @Override public void run() { Toast.makeText(...).show(); } }); 

Podría haber dos razones para que su código no funcione. Es éter su parámetro de actividad es nulo o …

Poco tiempo después de mostrar la tostada de la actividad es morir, en ese caso, se matará el brindis, así, para evitar esto se puede llamar a activity.getApplicationContext() como en @ Mehmet respuesta Seçkin.

Utilice uno de los siguientes

 Toast.makeText(getApplicationContext(), " Hello World", Toast.LENGTH_SHORT).show(); Toast.makeText(getBaseContext(),"please Create your Account First", Toast.LENGTH_SHORT).show(); Toast.makeText(GameActivity.this,"please Create your Account First", Toast.LENGTH_SHORT).show(); 

Utilizar:

 Toast.makeText(getApplicationContext(), " Hello World", Toast.LENGTH_SHORT).show(); 

o

 Toast.makeText(activity.this, " Hello World", Toast.LENGTH_SHORT).show(); 
 Toast.makeText(getApplicationContext(), "text", Toast.LENGTH_SHORT).show(); 

prueba esto.

Desde que usted preguntó por qué; Pienso que usted está dando una referencia de la actividad como contexto al mensaje de la tostada, esto es porqué no está trabajando.

Si está intentando mostrar un mensaje Toast desde fuera de una actividad, puede probar:

 Toast.makeText(activity.getApplicationContext(), " Hello World", Toast.LENGTH_SHORT).show(); 

O de la GameActivity

 Toast.makeText(GameActivity.this, " Hello World", Toast.LENGTH_SHORT).show(); 

O desde la MainActivity

 Toast.makeText(MainActivity.this, " Hello World", Toast.LENGTH_SHORT).show(); 

Ya que lo estás llamando de la clase. Necesitas obtener el contexto de la actividad a través del constructor de la clase o bien necesitas usar GetApplicationcontext ().

  • Error básico en AndroidManifest.xml para recibir permiso de SMS
  • Java Java crea mapa de bits a partir del valor hexadecimal
  • Introducción al desarrollo de Android
  • Conexión WiFi a través de Android
  • Cómo cargar una clase Java dinámicamente en android / dalvik?
  • Error al transformar el archivo '45907c80e09917e1b776adf038505958' para que coincida con los atributos {artifactType = jar} usando transform AarTransform
  • SparseBooleanArray.equals () no funciona como se esperaba
  • Cómo averiguar qué clase anónima interior se indica por un nombre de clase?
  • La vista personalizada de Android vuelve a la posición original al actualizar
  • La actividad se bloquea en setAdapter (ArrayAdapter);
  • VoIP RTP Streaming desde / hacia el servidor (en Java) hacia / desde android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.