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 中的url操作
  2. Android四个重要的组件类型
  3. android中Invalidate和postInvalidate的区别
  4. Android之网络请求11————Retrofit的源码分析
  5. 《宅男的android开发指南》(翻译)--8
  6. Android消息机制Message消息池
  7. Android(安卓)Volley 库通过网络获取 JSON 数据
  8. 在Android中使用Handler和Thread线程执行后台操作
  9. 一、Android基本常识——Android项目创建——Android(安卓)Studi

随机推荐

  1. Android异步任务之AsyncTask的使用
  2. Kotlin基础(一)android studio中配置Kotlin
  3. Android中数据存储----偏好设置
  4. PDF文档的读取,vudroid(Android)
  5. 深入剖析Android应用开发--视频
  6. Android(安卓)平台上的感应器开发
  7. Android鍥惧儚澶勭悊鎶€鏈紙瀹炵幇And
  8. Android Studio显示行数
  9. Android平板电脑的设计
  10. Android同一套代码打多个APP包并能够在同