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 № 1Comme 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:
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(); } });
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(); } });