ToastUtils 工具类

 1 package com.example.grenaderose.redthunder.utils;
 2 import android.content.Context;
 3 import android.os.Handler;
 4 import android.os.Looper;
 5 import android.widget.Toast;
 6 
 7 public class ToastUtils {
 8 
 9     //使用主线程looper初始化handler,保证handler发送的消息运行在主线程
10     private static Handler handler = new Handler(Looper.getMainLooper());
11 
12     public static void show(final Context ctx, final String text) {
13         //判断当前是主线程还是子线程
14         if (Looper.myLooper() == Looper.getMainLooper()) {
15             //当前looper是否等于主线程looper, 如果是, 说明当前是在主线程
16             Toast.makeText(ctx, text, Toast.LENGTH_SHORT).show();
17             //System.out.println("主线程吐司....");
18         } else {
19             //子线程
20             //handler.sendEmptyMessage(0);//handler发送一个消息给队列
21             //handler发送一个任务给队列
22             handler.post(new Runnable() {
23                 @Override
24                 public void run() {
25                     //当Looper轮询到此任务时, 会在主线程运行此方法
26                     Toast.makeText(ctx, text, Toast.LENGTH_SHORT).show();
27                 }
28             });
29 
30             //System.out.println("子线程吐司....");
31         }
32     }
33 
34 }

猜你喜欢

转载自www.cnblogs.com/monkey0928/p/10784366.html