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);
}
网友评论