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

 我来答
沙2011
2015-02-06 · TA获得超过1851个赞
知道小有建树答主
回答量:1043
采纳率:100%
帮助的人:790万
展开全部
Android中Toast重复显示每次都延时累计造成提示框一直显示完累计的时间才退去的问题。
在使用Toast作为提示信息时,Toast会显示在屏幕下方,一般用来提示用户的误操作。当用户在某些情况下,用户连续误操作多次时,会导致出现很多个Toast,依次显示,会在页面上停留很长时间,这个会严重影响软件的用户亲和性。我们可以通过一下方法来实现在一个Toast没有结束的时候再显示Toast不累加时间,而是打断当前的Toast,显示新的Toast。这样Toast就不会停留在界面很久。而最多显示一个Toast提示时间的。
import android.widget.Toast;
--------------------------------------------------------------------------------
//使用的地方1
showTextToast(getString(R.string.toast_irregular_number));

//使用的地方2
showTextToast(getString(R.string.toast_irregular_number2));
--------------------------------------------------------------------------------
private Toast toast = null;

private void showTextToast(String msg) {
if (toast == null) {
toast = Toast.makeText(getApplicationContext(), msg, Toast.LENGTH_SHORT);
} else {
toast.setText(msg);
}
toast.show();
}
百度网友dab5a00
2018-12-03
知道答主
回答量:26
采纳率:0%
帮助的人:3.6万
展开全部
if (toast != null) {
toast.cancel(); //取消
toast = Toast.makeText(getActivity(), msg, Toast.LENGTH_SHORT); //重新新建并显示吐司
} else {
toast = Toast.makeText(getActivity(), msg, Toast.LENGTH_SHORT);
}
toast.show();
//完美解决连续点击过程中吐司也会消失问题,连续点击停止2秒后吐司自动消失
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
斜眼看世人丶
2017-10-19
知道答主
回答量:1
采纳率:0%
帮助的人:943
引用沙2011的回答:
Android中Toast重复显示每次都延时累计造成提示框一直显示完累计的时间才退去的问题。
在使用Toast作为提示信息时,Toast会显示在屏幕下方,一般用来提示用户的误操作。当用户在某些情况下,用户连续误操作多次时,会导致出现很多个Toast,依次显示,会在页面上停留很长时间,这个会严重影响软件的用户亲和性。我们可以通过一下方法来实现在一个Toast没有结束的时候再显示Toast不累加时间,而是打断当前的Toast,显示新的Toast。这样Toast就不会停留在界面很久。而最多显示一个Toast提示时间的。
import android.widget.Toast;
--------------------------------------------------------------------------------
//使用的地方1
showTextToast(getString(R.string.toast_irregular_number));

//使用的地方2
showTextToast(getString(R.string.toast_irregular_number2));
--------------------------------------------------------------------------------
private Toast toast = null;

private void showTextToast(String msg) {
if (toast == null) {
toast = Toast.makeText(getApplicationContext(), msg, Toast.LENGTH_SHORT);
} else {
toast.setText(msg);
}
toast.show();
}
展开全部
private Toast toast = null;

private String msg ="what you want";

......

if (toast != null) {
toast.setText(msg);
toast.setDuration(Toast.LENGTH_SHORT);
toast.show();
} else {
toast = Toast.makeText(InsertActivity.this, msg, Toast.LENGTH_SHORT);
toast.show();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式