TOAST:不重复显示Toast

Posted herr_edoc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TOAST:不重复显示Toast相关的知识,希望对你有一定的参考价值。

问题:对用户的某个动作弹出Toast,采用一般的显示Toast的方法,如果用户多次做某个动作,则屏幕会一直显示Toast,体验不好。
目标:如果Toast正在显示,同个Toast不再弹出Toast,而是在原来的Toast上继续显示一定时间。
代码:

// 成员变量mToast
private Toast mToast;

// 显示Toast
if (mToast == null) 
    mToast = Toast.makeText(getApplicationContext(), getResources().getString(R.string.NOT_AVAILABLE), Toast.LENGTH_SHORT);
 else 
    mToast.setText(getResources().getString(R.string.NOT_AVAILABLE));
    mToast.setDuration(Toast.LENGTH_SHORT);

mToast.show();

如上代码,需要定义一个mToast成员变量,当需要显示Toast时,判断这个Toast是否在显示,如果有在显示,则重新设置要显示的文本和时间,如果没有显示,则弹出一个新的Toast。

以上是关于TOAST:不重复显示Toast的主要内容,如果未能解决你的问题,请参考以下文章

活动在显示 Toast 后泄漏窗口 [重复]

怎么解决toast连续弹出的问题

防止 Ionic 中出现重复的 Toast 消息

Toast 消息未在模拟器像素 3a 中显示 [重复]

主 Activity 完成后如何从服务中显示 Toast?

自定义Toast解决快速点击时重复弹出,排队无止尽