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

Posted 童话二分之一

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自定义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解决快速点击时重复弹出,排队无止尽的主要内容,如果未能解决你的问题,请参考以下文章

android自定义Toast之-弹出消息

怎么解决toast连续弹出的问题

Android快速开发常用知识点系列目录

Angular 2自定义弹出组件toast(使用路由)

android开发中关于toast的使用

活动中使用提示框(Toast)