Android中防止Toast重复显示

Android中防止Toast重复显示

1. 开发实景

在开发过程中,我们经常会用到Toast来提示消息。但我们经常会遇到这样一个情况:当点击某个控件会弹出Toast时,如果直接使用Toast.makeText()的方式的话,会发现在我们不断点击的情况下,Toast会地不断地显示,直到点击的次数的Toast出现完毕为止,这样就会降低了用户对软件的体验。

2. 解决方法

使用"自定义Toast",当然这里的自定义不是对Toast继承再自定义,使用工具类做一个简单的封装。话不多说,直接上代码:

public class ToastUtils {

    private static Toast mToast;

    public static void init(Context context) {
        mToast = Toast.makeText(context, null, Toast.LENGTH_SHORT);
    }

    public static void show(int resId) {
        mToast.setText(resId);
        mToast.show();
    }

    public static void show(CharSequence charSequence) {
        mToast.setText(charSequence);
        mToast.show();
    }
}

使用上面代码多次触发也只显示一个toast,只是把toast的内容替换成最新一次触发需要显示的内容。

3. 使用

在使用时,可以在应用的Application里做初始化,如下:

@Override 
public void onCreate() {
    super.onCreate();
    ToastUtils.init(this);
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容