如何防止android Toast重复显示

 我来答
网友919
2016-05-15
知道答主
回答量:30
采纳率:0%
帮助的人:11.7万
展开全部
Toast也是一个容器,可以包含各种View,并承载着它们显示。

使用场景:
1、需要提示用户,但又不需要用户点击“确定”或者“取消”按钮。
2、不影响现有Activity运行的简单提示。
用法:
1、可以通过构造函数初始化:

1 //初始化Toast
2 Toast toast = new Toast(this);
3 //设置显示时间,可以选择Toast.LENGTH_LONG或者Toast.LENGTH_SHORT
4 toast.setDuration(Toast.LENGTH_LONG);
5 //承载一个TextView,用来显示文字
6 TextView view = new TextView(this);
7 //设置TextView的值
8 view.setText("这是一个Toast提示");
9 //设置TextView的布局
10 view.setLayoutParams(new LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,LinearLayout.LayoutParams.WRAP_CONTENT));
11 //Toast承载该
12 TextViewtoast.setView(view);
13 //显示Toast
14 toast.show();

2、上述的方法过于复杂,一般只适用于构造特殊界面的Toast,如果只想单纯的进行文字提示,可以用工厂方法,它会自动构建一个带边框和文字的Toast:
1 //利用工厂方法构造一个简单的Toast,并链式结构的直接进行提示
2 Toast.makeText(this, "这是一个Toast提示", Toast.LENGTH_LONG).show();
总结:Toast可以说是最常用也是最简单的Android控件之一,其自动关闭的功能大大简化了代码量,不失为用户提示的最佳选择。
育知同创教育
2018-07-31 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
展开全部
Toast.makeText(PostActivity.this, "显示时间短", Toast.LENGTH_SHORT).show();
我觉得你的问题可以是因为最后的参数设置的是Toast.LENGTH_LONG,而不是Toast.LENGTH_SHORT,如果是LONG的话显示的时间会很长。
如果不是这个问题的话,那你的Toast语句是不是写在循环里面了?
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2016-04-30
展开全部
  当Toast响应点击事件时,如果用户连续点击,就会导致多个Toast排队等待依次显示,从而感觉很不友好,这个时候可以用以下方法避免之:

[java] view plaincopy
private static Toast mToast = null;
public static void showToast(Context context, String text, int duration) {
if (mToast == null) {
mToast = Toast.makeText(context, text, duration);
} else {
mToast.setText(text);
mToast.setDuration(duration);
}

mToast.show();
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
卖报嘻嘻呀
2016-05-03
知道答主
回答量:7
采纳率:0%
帮助的人:7899
展开全部
Toast不会重复显示的,
除非你把它写在了循环里,不然它是在你写的地方,根据你触发的事件来显示。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式