首页 > 代码库 > 自定义Toast解决快速点击时重复弹出,排队无止尽

自定义Toast解决快速点击时重复弹出,排队无止尽

解决办法:自定义MyToast类:

public class MyToast {
/** 之前显示的内容 */
private static String oldMsg ;
/** Toast对象 */
private static Toast toast = null ;
/** 第一次时间 */
private static long oneTime = 0 ;
/** 第二次时间 */
private static long twoTime = 0 ;
/**
* 显示Toast
* @param context
* @param message
*/
public static void showToast(Context context, String message){
if(toast == null){
toast = Toast.makeText(context, message, Toast.LENGTH_SHORT);
toast.show() ;
oneTime = System.currentTimeMillis() ;
}else{
twoTime = System.currentTimeMillis() ;
if(message.equals(oldMsg)){
if(twoTime - oneTime > Toast.LENGTH_SHORT){
toast.show() ;
}
}else{
oldMsg = message ;
toast.setText(message) ;
toast.show() ;
}
}
oneTime = twoTime ;
}
}
调用就很简单了,在要用的地方:
MyToast.showToast(Activity.this, "获取数据异常");



自定义Toast解决快速点击时重复弹出,排队无止尽