Estoy desarrollando un Juego para Android.En este juego, Hay pistas en las que los trenes funcionan. Este es subproceso en ejecución. Quiero mostrar un diálogo de alerta cuando hay una colisión entre. cuando estoy aplicando alerta de diálogo mostrando el error no puede crear el controlador dentro del hilo que no ha llamado looper.prepare().

OriginalEl autor user1602798 | 2012-09-13

6 Comentarios

  1. 10

    Que usted debe necesitar para crear AlertDialog dentro de subproceso de interfaz de usuario más nunca va a funcionar. Si usted está en un subproceso diferente uso MessageHandler o puede utilizar runOnUiThread(utilizando ejecutable) para crear su diálogo interior.

    ¿me puedes mostrar algún ejemplo.

    OriginalEl autor Daud Arfin

  2. 15

    Esto le ayudará a:

    runOnUiThread(new Runnable() {
        @Override
        public void run() {
            //Your dialog code.
        }
    });
    cuando estoy agregando runOnUiThread en mi código se muestra el error:- El método de runOnUiThread(new Runnable(){}) no está definido por el tipo de MainGamePanel

    OriginalEl autor Ankitkumar Makwana

  3. 6

    Puede crear un controlador de Clase de Actividad, y puede invocar a sendMessage para que el controlador de objeto. Escribir el código para mostrar alerta en handleMessage método de Controlador, por Ejemplo:

    Clase De Actividad

    Handler mHandler = new Handler()
    {
        public void handleMessage(Message msg)
        {
           //Display Alert
        }
    };
    
    //Thread
    
    Thread thread= new Thread()
    {
        public void run()
        {
             //Logic
             MHandler.sendEmptyMessage(0);
        }
    }
    Gracias man :).

    OriginalEl autor jeet

  4. 6

    Puede utilizar los Controladores para hacer este trabajo.

    Handler mHandler = new Handler(Looper.getMainLooper());
    mHandler.post(new Runnable() {
        @Override
        public void run() {
            //Your UI updates here
        }
    });
    ella, con excepción de puntero nulo en mHandler.línea post.
    debe ser mHandler. Editado. Gracias…:)
    usted necesita initializate variable de Controlador de mHandler= nuevo Handler();

    OriginalEl autor prakash

  5. 1

    Que tiene para mostrar el cuadro de diálogo en el subproceso de interfaz de usuario como el de abajo,

    runOnUiThread(new Runnable() {
        @Override
        public void run() {
            //Your dialog code.
        }
    });

    OriginalEl autor sankar

  6. 0

    Puedes probar con esta, con la verificación de la Aplicación es visible

    Activity currentActivity = MainClassApp.getCurrentActivity();
    boolean isAppVisible = currentActivity != null;
    
    if (isAppVisible) {
        currentActivity.runOnUiThread(() -> 
        //Your Dialog Code 
    }

    OriginalEl autor Виталий Фадеев

Dejar respuesta

Please enter your comment!
Please enter your name here