Skip to content

Instantly share code, notes, and snippets.

@yukpiz
Created February 19, 2014 02:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save yukpiz/0975e6d7171a85e5d23d to your computer and use it in GitHub Desktop.
Save yukpiz/0975e6d7171a85e5d23d to your computer and use it in GitHub Desktop.

Android Toast.

  • ServiceやBroadcast等のUIスレッド以外のスレッドからToastを表示する
  • Toastを表示するタイミングでToast表示用のスレッドを起動し表示する
  • 例えば匿名クラスで定義されたコールバック関数内でToastを表示する

Handler Threadの起動からToastの表示まで


  • ToastThread.java
// Serviceからコールされ処理を行い、結果をToastで表示する
private void run() {
   - (処理省略)

   // Toast表示の為のスレッドを起動
   HandlerThread handlerThread = new HandlerThread("ToastThread#1");
   handlerThread.start(); //スレッド開始
   Handler handler = new Handler(handlerThread.getLooper());
   //ハンドラは非同期で呼び出される
   handler.post(new Runnable() {
      @Override
      public void run() {
         Toast.makeText(getApplicationContext(), "Showed toast.", Toast.LENGTH_LONG).show();
      }
   });
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment