Acceder/publicar mensajes en el hilo de la interfaz de usuario con la ayuda de Looper

¿Cómo publico mensajes en el generador de bucles principal de la interfaz de usuario desde un hilo? Estoy trabajando en una clase auxiliar independiente, que debería mostrar una ventana.

Una mala solución sería pasar una Vista a través de la construcción y luego usar View.post(), pero estoy buscando una mejor solución.

Pensé que esto funcionaría, pero obtengo la excepción común "no en hilo ui".

public class Example {

    private Context context;

    public Example(Context context) {
        this.context = context;
    }

    public void build() {

    }

    public void show() {
        Handler handler = new Handler(Looper.getMainLooper());
        handler.post(new Runnable() {
            @Override
            public void run() {
                Toast.makeText(context, "test", Toast.LENGTH_LONG);
            }
        }); 
    }

}

preguntado el 04 de julio de 12 a las 11:07

1 Respuestas

Simplemente pase el contexto y haga uso del método runonUiThread, así,

((Activity)contextObj).runOnUiThread(new Runnable() {

                public void run() {
                     Toast.makeText(context, "test", Toast.LENGTH_LONG).show();

                }
            });

Respondido 05 Jul 12, 07:07

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.