学而实习之 不亦乐乎

Android:在子线程中调用Toast

2021-08-25 23:15:42

在我们编写程序的时候,碰到过很多次的想要在子线程中调用Toast,这时候程序编译没有问题,当我们开始运行在手机上的时候就会出现下列出错。

解决方案:
既然已经知道了问题是如何产生的, 那么我们现在就只需要在我们的子线程中把Toast所需要的Looper对象给创建出来就可以了。

new Thread(new Runnable() {

   @Override
   public void run() {
       Looper.prepare();
       Toast.makeText(TwoActivity.this, "子线程显示", Toast.LENGTH_SHORT).show();
       Looper.loop();
       }
}).start();

我们已经给子线程里面创建了一个Looper对象,这样我们的Toast就可以加入到一个消息队列中,才能够进行输出!!