El método runOnUiThread (Runnable) en el tipo Activity no es aplicable para los argumentos (void)

Estoy tratando de crear un diálogo desde un subproceso no UI, en onUtteranceCompleted ():

runOnUiThread( new Thread(new Runnable() { public void run() { MyDialog.Prompt(this); } }).start()); 

Prompt () es un método estático simple de la clase MyDialog:

  static public void Prompt(Activity activity) { MyDialog myDialog = new MyDialog(); myDialog.showAlert("Alert", activity); } 

El problema es que la leva de dos errores por lo que estoy tratando de hacer:

  1. El método runOnUiThread (Runnable) en el tipo Activity no es aplicable para los argumentos (void)
  2. El método Prompt (Actividad) en el tipo MyDialog no es aplicable para los argumentos (new Runnable () {})

Todo lo que quería era "hacerlo bien", aplazando la creación de un diálogo a un hilo de interfaz de usuario, pero parece que me falta algo fundamental.

¿Qué estoy perdiendo y cómo puedo lograr la tarea aparentemente simple que estoy tratando de lograr?

Debe ser:

 runOnUiThread(new Runnable() { public void run() { MyDialog.Prompt(NameOfYourActivity.this); } }); 

Dice que no es aplicable para los argumentos (void) porque está intentando ejecutar un subproceso utilizando el método start (que es un método void). runOnUiThread recibe un objeto ejecutable, y no tiene que preocuparse por iniciarlo, lo hace el sistema operativo para usted.

Con respecto al segundo error, ocurre porque en ese ámbito se refiere al objeto Runnable que se está inicializando, en lugar de la referencia a la actividad. Por lo tanto, tiene que decir explícitamente a qué se está refiriendo (en este caso YourActivityName.this ).

  • Mostrar un pequeño popup en el punto donde el usuario hace clic en el gráfico (achartengine)
  • Android: especificación del tema personalizado para el diálogo personalizado AlertDialog.Builder envuelve el contenido en un diálogo
  • Cómo descartar un cuadro de diálogo en Android haciendo clic en él dentro?
  • ¿Cómo desactivar / activar los botones negativos positivos del diálogo?
  • Modificación del diseño del título de diálogo en Android
  • PopUp diálogo Android de hilo de fondo
  • Configurar el tema Programmactically causa el fondo negro
  • Cómo agregar dos campos de texto de edición en un cuadro de diálogo de alerta
  • ¿Cómo pongo una barra de búsqueda en un cuadro de diálogo de alerta?
  • Cuadro de diálogo de Android en estilo personalizado: quitar la línea azul y establecer el color de ActionBar
  • Diálogo de alerta simple de Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.