2011-04-04 8 views
8

Tengo una clase que estoy usando para obtener datos de GPS dentro de mi actividad. En el constructor que pasarlo contexto de la actividad:¿Cómo hago un brindis de una clase que no es de actividad?

gpsFetcher = new GPSFetcher(this); 

y en la clase gpsFetcher tengo:

this.context = c.getApplicationContext(); 

o simplemente

this.context = c; 

y luego llamar a la tostada con:

Toast.makeText(context, "sometext", Toast.LENGTH_LONG); 

Pero es ne Ver aparece ... ¿Hay algo que me falta? ¿Es posible?

Gracias!

+1

son usted que llama 'Toast.show();'? De lo contrario, es un duplicado de http://stackoverflow.com/questions/3466087/cannot-display-toast-from-an-activity-other-than-my-main-activity – Jess

+0

No, consulte la respuesta a continuación ... Facepalm. Gracias. – Matt

Respuesta

10

¿Olvidaste Toast#show?

Toast toast = Toast.makeText(context, "sometext", Toast.LENGTH_LONG); 
toast.show(); 
+1

DOH! Sí, ese es el problema ... incluso lo había puesto en otros lugares, ¡simplemente no estaba llegando a ellos porque me estaba deteniendo cuando este no apareció! Lunes ... ¡Gracias! – Matt

+1

Genial, funciona para mí ... gracias .. :) –

0

He encontrado la misma pregunta pero la resolví. !! En la clase no activa, acaba de anunciar una "cadena pública estática". Luego, en su actividad principal u otra actividad, puede usar Toast directamente.

En mi caso, declaro una clase no activa NoteDB. entonces declaro public static String S en la clase. .. (Se puede cambiar el valor de S en la clase A continuación, en mi MainActivity, anuncio

Toast(MainActivity.this, NoteDB.S ,TOAST.SHORT_LENTGH).show(); 

Funciona bien

+0

Contexto de la aplicación ...? http://developer.android.com/guide/topics/ui/notifiers/toasts.html –

1

Debe llamar show() así:

Toast.makeText(context, "sometext", Toast.LENGTH_LONG).show();

Cuestiones relacionadas