Red de conocimiento informático - Problemas con los teléfonos móviles - ¿Por qué Toast no se puede ejecutar en un subproceso secundario?

¿Por qué Toast no se puede ejecutar en un subproceso secundario?

El primer método

new Thread(){

@Override

public void run() {

super.run() ;

Looper.prepare();

prueba {

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

}catch (Excepción e) {

Logger.e("error",e.toString() );

}

Looper.loop();

}

}.start();

Porque, excepto el subproceso de la interfaz de usuario de actividad creado de forma predeterminada, el subproceso no Crear automáticamente, así que llame a Looper.prepare() para crear el bucle de mensajes para el hilo, luego pase Looper.loop() para que el bucle de mensajes funcione.

El segundo método es

runOnUiThread(new Runnable() {

@Override

public void run() {

p>

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

}

})

new thread(){

}.start();

El código para Toast se crea en Runnable, luego, cuando necesite Toast, pase este objeto Runnable a runOnUiThread (Ejecutable). Esto permite llamar al par Runnable desde dentro del programa UI. Si el hilo actual es el hilo de la interfaz de usuario, la operación debe realizarse inmediatamente