TOAST:不重复显示Toast

来源:互联网 发布:ubuntu vi编辑器 编辑:程序博客网 时间:2024/04/29 00:57

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

// 成员变量mToastprivate Toast mToast;// 显示Toastif (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。