package com.example.grenaderose.redthunder.utils;
import android.content.Context;
import android.os.Handler;
import android.os.Looper;
import android.widget.Toast; public class ToastUtils { //使用主线程looper初始化handler,保证handler发送的消息运行在主线程
private static Handler handler = new Handler(Looper.getMainLooper()); public static void show(final Context ctx, final String text) {
//判断当前是主线程还是子线程
if (Looper.myLooper() == Looper.getMainLooper()) {
//当前looper是否等于主线程looper, 如果是, 说明当前是在主线程
Toast.makeText(ctx, text, Toast.LENGTH_SHORT).show();
//System.out.println("主线程吐司....");
} else {
//子线程
//handler.sendEmptyMessage(0);//handler发送一个消息给队列
//handler发送一个任务给队列
handler.post(new Runnable() {
@Override
public void run() {
//当Looper轮询到此任务时, 会在主线程运行此方法
Toast.makeText(ctx, text, Toast.LENGTH_SHORT).show();
}
}); //System.out.println("子线程吐司....");
}
} }

ToastUtils 工具类的更多相关文章

  1. 安卓---Toast工具类,有点懒

    package com.liunan.myfirstapp.util; import android.content.Context; import android.widget.Toast; /** ...

  2. utils部分--一些通用的工具类封装

    1.简介 utils部分是对一些常用的工具类进行简单的封装,使用起来比较方便.这里列举常用的一些. 2.ContextUtils使用 主要封装了网络判断.一些方法解释如下: ? 1 2 3 4 5 6 ...

  3. Android Toast 工具类

    android  中常用系统吐司工具类 package cn.yhq.utils; import android.content.Context; import android.widget.Toas ...

  4. 实用工具类--第三方开源--Lazy

    下载地址 :https://github.com/ddwhan0123/Lazy 工具 描述 AnimationUtils 动画工具类 AppUtils APP相关信息工具类 AssetDatabas ...

  5. Java基础Map接口+Collections工具类

    1.Map中我们主要讲两个接口 HashMap  与   LinkedHashMap (1)其中LinkedHashMap是有序的  怎么存怎么取出来 我们讲一下Map的增删改查功能: /* * Ma ...

  6. Android—关于自定义对话框的工具类

    开发中有很多地方会用到自定义对话框,为了避免不必要的城府代码,在此总结出一个工具类. 弹出对话框的地方很多,但是都大同小异,不同无非就是提示内容或者图片不同,下面这个类是将提示内容和图片放到了自定义函 ...

  7. [转]Java常用工具类集合

    转自:http://blog.csdn.net/justdb/article/details/8653166 数据库连接工具类——仅仅获得连接对象 ConnDB.java package com.ut ...

  8. js常用工具类.

    一些js的工具类 复制代码 /** * Created by sevennight on 15-1-31. * js常用工具类 */ /** * 方法作用:[格式化时间] * 使用方法 * 示例: * ...

  9. Guava库介绍之实用工具类

    作者:Jack47 转载请保留作者和原文出处 欢迎关注我的微信公众账号程序员杰克,两边的文章会同步,也可以添加我的RSS订阅源. 本文是我写的Google开源的Java编程库Guava系列之一,主要介 ...

随机推荐

  1. 理解OpenShift(7):基于 Prometheus 的集群监控

    理解OpenShift(1):网络之 Router 和 Route 理解OpenShift(2):网络之 DNS(域名服务) 理解OpenShift(3):网络之 SDN 理解OpenShift(4) ...

  2. springboot项目简单启动脚本

    #!/bin/bash function log_info () { DATE=`date "+%Y-%m-%d %H:%M:%S"` USER=$(whoami) echo &q ...

  3. redmine2.5升级到3.4

    第一.安装需要升级的版本 参考文档:https://www.cnblogs.com/panwenbin-logs/p/10174525.html 二.备份源数据 [root@localhost ~]# ...

  4. 【HDFS API编程】删除文件

    所有操作都是以fileSystem为入口进行,我们使用fileSystem下的delete方法进行删除文件操作,删除的时候必须慎重. 直接上代码: /** * 删除文件 * @throws Excep ...

  5. tail -f 命令暂停方法

    Linux 下查看日志时,使用 tail -f 可以不断的刷新日志信息. 例如: tail -f logs.log 此时要想暂停刷新,使用ctrl+s暂停终端.若想继续终端,使用ctrl+q. 若想退 ...

  6. Rabbitmq 安装后采坑

    一.接手项目 接手项目后,按别人说的先安装什么,后安装什么然后就可以用了,也不去看什么.先开始安装的是otp_win64_19.1工具包和rabbitmq-server-3.6.5服务端,在win10 ...

  7. Python-Unittest

    TestCase——> Test Fixure测试固件 | TestSuite测试套件——>TestRunner测试运行器 | TestReport 测试断言 verbosity=2 0代 ...

  8. laravel5.6中Session store not set on request问题如何解决

    先找到文件app下的Kernel.php文件,在文件中加入下列代码 protected $middleware = [ \Illuminate\Foundation\Http\Middleware\C ...

  9. Rocket MQ 2 - Namesrv

    通过上文中使用可以看到,主要逻辑还是在NamesrvController中包含KVConfigManager负责配置相关的读写,RouteInfoManager负责路由信息的管理; 启动定时任务定时打 ...

  10. window Linux 双系统安装

    我是先安装的win10,然后在其基础上又安装了Ubuntu 16.04,为了今后再次安装方便,这里记录一下安装过程. 我在安装时主要参考了文章:https://blog.csdn.net/flyyuf ...