如何防止android Toast重复显示
4个回答
展开全部
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控件之一,其自动关闭的功能大大简化了代码量,不失为用户提示的最佳选择。
使用场景:
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语句是不是写在循环里面了?
我觉得你的问题可以是因为最后的参数设置的是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();
}
[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();
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Toast不会重复显示的,
除非你把它写在了循环里,不然它是在你写的地方,根据你触发的事件来显示。
除非你把它写在了循环里,不然它是在你写的地方,根据你触发的事件来显示。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询