2016-07-27 37 views

回答

0

正如您所提到的,Toast只能在主线程中调用。如果你想从另一个线程抛出一个Toast,你必须将它传递给主线程。

你可以做到这一点:

  1. 使用“runOnUiThread”的方法从一个活动:

    activity.runOnUiThread(new Runnable() { 
        public void run() { 
         Toast.makeText(context, "Hello, world!", Toast.LENGTH_SHORT).show(); 
        } 
    }); 
    
  2. 发布可运行与吐司调用的处理程序是 上运行主线活套:

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