package com.ddsc.fincar.util;
import android.content.Context;
import android.text.TextUtils;
import android.widget.Toast;
/**
* Create by Xinwee
* Toast工具类
*/
public class ToastUtil {
private static String oldMsg;
protected static Toast toast = null;
private static long oneTime = 0;
private static long twoTime = 0;
public static Context mContext;
public static void init(Context context){
mContext = context;
}
public static void showToast(String s) {
s = TextUtils.isEmpty(s) ? "no tips" : s;
if (toast == null) {
toast = Toast.makeText(mContext, s, Toast.LENGTH_LONG);
toast.show();
oneTime = System.currentTimeMillis();
} else {
twoTime = System.currentTimeMillis();
if (s.equals(oldMsg)) {
if (twoTime - oneTime > Toast.LENGTH_LONG) {
toast.show();
}
} else {
oldMsg = s;
toast.setText(s);
toast.show();
}
}
oneTime = twoTime;
}
public static void showToast(String s, String defautStr) {
if (!TextUtils.isEmpty(s)) {
showToast(s);
} else if(!TextUtils.isEmpty(defautStr)) {
showToast(defautStr);
}
}
public static void showToast(int resId) {
showToast(mContext.getString(resId));
}
}
Toast封装的工具类,因为基本上Toast显示只是用LENGTH_LONG,可以自己加入LENGTH_SHORT。好处是:
1.使用方便,代码量更小。
2.不会多次调用Toast的show导致toast显示不停,两个Toast之间间隔的时间不能小于LENGTH_LONG的时间。
需要在Application中初始化ToastUtil.init(this) 需要在Application中,或者使用Application的context