Android——Toast重复显示解决方法 android toast
Toast一般用来提示用户的误操作。但是如果同时显示多个Toast信息提示框,系统会将这些Toast信息提示框放到队列中,等前一个Toast信息提示框关闭后才会显示下一个Toast信息提示框。当用户在某些情况下,误操作多次时,使用Toast提示会出现很多个Toast依次显示,在页面上停留很长时间,用户体验很不好!
为了解决这一问题,每次创建Toast时先做一下判断,如果前面有Toast在显示,只需调用Toast中的setText()方法将要显示的信息替换即可。
代码如下:
自定义CustomToast 类:
public class CustomToast {
privatestatic Toast mToast;
privatestatic Handler mHandler = new Handler();
privatestatic Runnable r = new Runnable() {
public voidrun() {
mToast.cancel();
}
};
publicstatic void showToast(Context mContext, String text, int duration){
mHandler.removeCallbacks(r);
if (mToast!= null)
mToast.setText(text);
else
mToast =Toast.makeText(mContext, text, Toast.LENGTH_SHORT);
mHandler.postDelayed(r, duration);
mToast.show();
}
publicstatic void showToast(Context mContext, int resId, int duration){
showToast(mContext, mContext.getResources().getString(resId),duration);
}
}
显示Toast代码:CustomToast.showToast(getBaseContext(), "提示信息",1000);
因为一般提示信息都是放在strings.xml中,所以为了方便使用,又写了个方法:
public static void showToast(Context mContext, int resId, intduration) {
showToast(mContext, mContext.getResources().getString(resId),duration);
}
更多阅读
电脑开机后打开宽带连接很慢,解决方法。 开机后自动连接宽带
电脑开机后打开宽带连接很慢,解决方法。——简介大家肯定有这样的疑惑,为什么电脑开机后打开宽带连接很慢呢? 这是因为本地连接没有记住上一次使用的ip地址,所以电脑每次开机之后就要重新查找ip地址,浪费时间。现在教大家电脑开机显示图
HP墨盒注墨不出墨的解决方法 佳能打印机墨盒注墨
HP墨盒注墨不出墨的解决方法——简介墨盒重复利用中出现的小问题HP墨盒注墨不出墨的解决方法——工具/原料针筒墨盒面巾纸透明胶带墨水HP墨盒注墨不出墨的解决方法——方法/步骤HP墨盒注墨不出墨的解决方法 1、把墨盒背面标签撕掉.
分享WIN7输入法图标不显示的几种解决方法 win7找不到输入法图标
Windows7系统下,输入法在右下角不能正常显示,或中毒或设置不当。臭虫小明,以图文并茂的方式带大家一起来解决这问题。在电脑没有中毒的情况下,我们只需要启动服务或者修改输入法相关设置即可解决输入法图标不显示问题,若因中毒导致,就需要
“你输入的行政区和街道地址不匹配”的解决方法 11显示不匹配怎么解决
“你输入的行政区和街道地址不匹配”的解决方法——简介淘宝收货地址,在填写“街道地址”的时候,会出现这么一个提示,很多朋友可能就慌了,不知道如何修改,填写完了也会出现无法保存的情况。下面通过2个小方法,让您顺利保存。“你输入的行
SecureCRT中文乱码解决方法 securecrt如何显示中文
SecureCRT中文乱码解决方法——简介SecureCRT是一个商业终端连接工具。默认设置下,通过SecureCRT连接SSH服务器可能出现中文乱码的情况。这是由于SecureCRT字符编码与服务器的字符编码不一致造成的。 SecureCRT中文乱码解决方法—