Android中Toast如何在子线程中调用

在子线程中toast报错

[外链图片转存失败(img-bMDj902y-1567217318947)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\1554794882370.png)]

android的主ui线程中其android框架已经默认给出了一个looper对象, 而我们自己创建的子线程中,looper对象需要自己给构建出来。这也就是为什么我们在子线程中使用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就可以加入到一个消息队列中,才能够进行输出!!

更多相关文章

  1. 多线程例子 android camera capture
  2. android 子线程handler 实现
  3. 简单说说android的线程封装
  4. android页面间传递对象
  5. Android子线程与子线程的通信
  6. android子线程中刷新界面控件
  7. android 主线程和子线程之间的消息传递
  8. Android O版本Call对象解析

随机推荐

  1. 设置控件的透明度 ,android:layout_center
  2. Android(安卓)签名详解
  3. Android(安卓)listview中item部分区域添
  4. android如何开发流量监控软件
  5. Android之Adapter用法
  6. Android(安卓)驱动和系统开发. 一个简单
  7. Android(安卓)SDK安装
  8. android事件处理机制
  9. Android(安卓)系统架构了解学习
  10. Android(Java):adb与linux命令