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);
}

你可能感兴趣的:(Android中防止Toast重复显示)