Android实现多条Toast快速显示

Toast多用于我们开发人员调试使用,有时候也作为给用户的弱提示使用,我们常用的方法是

Toast.makeText(this, "弹出Toast", Toast.LENGTH_SHORT).show();

那么问题来了,这样实现就会有一个问题,每一条Toast都要显示1S左右的时间,如果调试的Toast较多,能急死

实现Toast显示的时候,中止上一条Toast的显示

有时候就是有这种需求,也可以方便我们的调试

先说一下上一种方式为什么就每个都显示1s左右的时间,因为makeText就是获取一个Toast对象,然后之间show了出来,相当于一个队列,每显示一条,就创建一个对象,在后面显示出来,每个都是一秒,

那么解决方案,就是只用一个Toast对象来显示,然后使用setText方法来设置显示内容,最后show显示出来

private Toast toast = null;
/*** 弹出Toast(中断正在显示的Toast)*/
public void showToast(View view) {if (toast == null) {toast = Toast.makeText(getApplicationContext(), "", Toast.LENGTH_SHORT);}toast.setText("弹出Toast(中断正在显示的Toast)");toast.show();
}

工具类(为了方便,可以直接复制粘贴使用)

package googleanalytics.example.com.kqwtoastdemo;import android.content.Context;
import android.widget.Toast;/*** Created by kongqw on 2015/9/28.*/
public class ToastUtile {// 构造方法私有化 不允许new对象private ToastUtile() {}// Toast对象private static Toast toast = null;/*** 显示Toast*/public static void showText(Context context, String text) {if (toast == null) {toast = Toast.makeText(context, "", Toast.LENGTH_SHORT);}toast.setText(text);toast.show();}
}

测试类

package googleanalytics.example.com.kqwtoastdemo;import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}/*** 弹出Toast*/public void showToastDefault(View view) {Toast.makeText(this, "弹出Toast", Toast.LENGTH_SHORT).show();}private int mShowCount = 0;/*** 弹出Toast(中断正在显示的Toast)*/public void showToast(View view) {ToastUtile.showText(this, "弹出Toast(中断正在显示的Toast) " + mShowCount++);}
}

布局文件

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"tools:context=".MainActivity"><Button
        android:layout_width="match_parent"android:layout_height="wrap_content"android:onClick="showToastDefault"android:text="弹出Toast" /><Button
        android:layout_width="match_parent"android:layout_height="wrap_content"android:onClick="showToast"android:text="弹出Toast(中断正在显示的Toast)" />
</LinearLayout>

效果图

转载于:https://www.cnblogs.com/sesexxoo/p/6190513.html

Android实现多条Toast快速显示(强制中止上一条Toast的显示)相关推荐

  1. vue 圆形百分比进度条_快速构建一个圆形的进度条

    在一些特别生的网站上,用户需要一个可视化的是示,以表明网站资源仍然在加载.从Spinner到Skeleton屏幕有不同的方法来解决这类的用户体验效果. 如果我们使用的是开箱即用的解决方案,它为我们提供 ...

  2. 查询前10条_阿里开发强制要求的10条ORM映射查询规范,开发人员值得看

    1. [强制]在表查询中,一律不要使用 * 作为查询的字段列表,需要哪些字段必须明确写明. 说明: 1)增加查询分析器解析成本. 2)增减字段容易与resultMap配置不一致. 3)无用字段增加网络 ...

  3. Mysql如何快速制造千万级上亿条数据?

    大前提 首先确保当前表中至少有一条数据. 思路 对表中数据进行指数型增加,n的2,3,4,-,x次方的递增. 命令:INSERT INTO 表名(字段1,字段2,-,字段n) SELECT (字段1, ...

  4. 计算机卡在无法显示网页,我的电脑上网上银行一直“无法显示网页”

    首先:打开一个网页,点击"工具"--internet选项--高级--还原默认设置--应用--确定 其次:使用这个修复工具试一试,详见上传的附件. 再次:如果还不行,单击" ...

  5. java下传图片到tomcat服务器后,如何在页面显示,java图片上传服务器及客户端显示图片...

    我在上一篇文章SSM+Layui实现文件上传服务器中展示了如何将图片上传至服务器,保存到SQL server数据库中,本篇文章主要讲的是将图片上传到服务器上,保存在服务器的磁盘上,然后将图片路径保存到 ...

  6. Java map集合实现上一条(篇),下一条(篇)新闻翻篇功能

    传统实现新闻消息的上一条和下一条功能均使用list集合即可,[即:将数据id保存在list集合中,点击上一条时将id减1,点击下一条时id加1],此时实现传统的上一条与下一条功能是没有问题的. 但是对 ...

  7. android ffmpeg 仿剪映播放器 剪辑视频 预览条 快速精准抽帧

    android ffmpeg 仿剪映播放器 剪辑视频 预览条 快速精准抽帧 由于本人想学习音视频相关的东西,所以找了剪映作为借鉴,通过仿照剪映的功能学习音视频相关的东西,所以有了这个项目 暂时这个项目 ...

  8. Android中ProgressBar的使用-通过Handler与Message实现进度条显示

    场景 进度条效果 注: 博客: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书.教程推送与免费下载. 实现 将布局改为 ...

  9. mac里python注释的快捷键_Mac 版的Python IDEL, 按什么快捷键可以快速显示上一条命令,下一条命令?...

    展开全部 Mac 版的Python IDEL快速显示命令:32313133353236313431303231363533e4b893e5b19e31333433626532 1.快速显示上一条命令: ...

  10. android 未读信息反复提醒,Android仿微信未读消息数提示显示数字BadgeView大于99条显示99+...

    [实例简介] Android仿微信未读消息数提示显示数字BadgeView大于99条显示99+ [实例截图] [核心代码] BadgeView └── BadgeView ├── app │   ├─ ...

最新文章

  1. 聊聊reactive streams的schedulers
  2. 计算机网络_第7版_谢希仁_目录
  3. C语言 指针 类型的用法大汇总(指针/引用/取值) *与
  4. [导入]PHP通用分页类
  5. mysql数据库应用的权限层级_MySQL数据库的用户权限管理
  6. 封装EF code first用存储过程的分页方法
  7. 给开源项目贡献代码的经历
  8. 一步一步 IText.Sharp 之 Hello Word
  9. (附源码)基于Android的订餐app 毕业设计 190711
  10. PDF编辑器(PDF Editor)中文版
  11. java saxreader 字符串_解析XML文件(字符串)的方法-----SAXReader
  12. [W806捣鼓手记]FPU性能简单测试——2022.05.23
  13. 域格LPM2100 me NB模块PSM相关问题
  14. 如何让word设置连续的页码,解决不同页面页码相同问题
  15. 【UNI-APP】开发微信公众号(H5)JSSDK调式
  16. 300色 柔和色彩渐变色卡(十六进制)
  17. xcode mac app_IOS苹果APP签名详解
  18. 密码技术学习(1)-初识密码
  19. vb.net利用listbox控件与excel文件相结合统计数据
  20. 牛客小白月赛2 E.是是非非

热门文章

  1. java string查找_Java lastIndexOf() 方法
  2. php把buffer转化为图片_干货:如何提升转化率?5个优化转化率的tips
  3. c语言程序设计教程 郭浩志,C语言程序设计教程答案杨路明郭浩志.doc
  4. python中替换字符串中子串的函数为_python替换字符串中的子串图文步骤
  5. mysql里类似sequence_MySql中实现类似Oracle的Sequence方案
  6. html5制作前端优势,HTML5前端开发原来有这么多优势!
  7. python中lstrip函数_python中strip(),lstrip(),rstrip()函数的使用讲解
  8. 最大后验估计与共轭分布
  9. php nusoap web service
  10. #16192董哥授课的CCNP交换部分总结(三)