/ / Create Toast de différents threads qui implémentent looper - android, multithreading

Créer un toast à partir de différents threads implémentant le looper - android, multithreading

Puis-je créer un pain grillé à partir d'un thread différent qui implémente un boucleur ou à l'aide de HandlerThread.Il est obligatoire de créer un pain grillé ou toute opération interface utilisateur à l'aide du boucleur principal.

Réponses:

0 pour la réponse № 1

Comme vous l'avez mentionné, un Toast ne peut être invoqué que sur le fil principal. Si vous voulez lancer un pain grillé d'un fil différent, vous devez le router vers le fil principal.

Vous pouvez le faire en:

  1. Utilisation de la méthode "runOnUiThread" à partir d'une activité:

    activity.runOnUiThread(new Runnable() {
    public void run() {
    Toast.makeText(context, "Hello, world!", Toast.LENGTH_SHORT).show();
    }
    });
    
  2. Envoi d’un exécutable avec l’invocation de Toast à un gestionnaire qui est s'exécutant sur le boucleur de thread principal:

    private Handler handler = new Handler(Looper.getMainLooper());
    handler.post(new Runnable() {
    public void run() {
    Toast.makeText(context, "Hello, world!", Toast.LENGTH_SHORT).show();
    }
    });