Toast对象在show时系统是将该对象放入队列中,当队列当前没有要显示的toast时才显示本次show请求,这就带来了一些困扰,比如某个操作我们会通过toast提示一些信息,但是如果用户频繁进行此操作,会在队列内堆积非常多的内容,造成不好的用户体验,解决办法是建立工具类,判断成员变量mtoast是否为null,如果为null则通过new Toast()对其赋值,如果不为null则通过setText方法设置其内容。
public class ToastUtil
{
private static Toast mToast;
public static void showToast(Context context, String msg, int duration) {
if (mToast == null) {
mToast = Toast.makeText(context, msg, duration);
} else {
mToast.setText(msg);
}
mToast.show();
}
}
要用的时候调用ToastUtil.showToast(context, msg, duration);
完美实现Toast快速切换!!!