public class MyToast {
private static String oldMsg;
private static long oneTime = 0;
private static long twoTime = 0;
private static Toast toast = null;
private static Context context;
public static void init(Context con){
context = con;
}
public static void showText(String text) {
if (toast == null) {
toast = Toast.makeText(getContext(), text, Toast.LENGTH_SHORT);
toast.show();
oneTime = System.currentTimeMillis();
} else {
twoTime = System.currentTimeMillis();
if (text.equals(oldMsg)) {
if (twoTime - oneTime > 2000) {
// 这里是判断toast上一次显示的时间和这次的显示时间如果大于2000,
// 则显示新的toast
toast.cancel();
toast = Toast.makeText(getContext(), text, Toast.LENGTH_SHORT);
toast.show();
oneTime = twoTime;
}
} else {
toast.cancel();
toast = Toast.makeText(getContext(), text, Toast.LENGTH_SHORT);
oldMsg = text;
toast.show();
oneTime = twoTime;
}
}
}
public static void showText(int stringsId) {
if (toast == null) {
toast = Toast.makeText(getContext(), getContext().getString(stringsId), Toast.LENGTH_SHORT);
toast.show();
oneTime = System.currentTimeMillis();
} else {
twoTime = System.currentTimeMillis();
if (getContext().getString(stringsId).equals(oldMsg)) {
if (twoTime - oneTime > 2000) {
toast.cancel();
toast = Toast.makeText(getContext(), getContext().getString(stringsId), Toast.LENGTH_SHORT);
toast.show();
oneTime = twoTime;
}
} else {
toast.cancel();
toast = Toast.makeText(getContext(), getContext().getString(stringsId), Toast.LENGTH_SHORT);
oldMsg = getContext().getString(stringsId);
toast.show();
oneTime = twoTime;
}
}
}
public static Context getContext() {
return context;
}
}