android toast防重_如何解决android Toast重复显示

android toast防重_如何解决android Toast重复显示Toast是一种简易的消息提示框,它无法获取焦点,按设置的时间来显示完以后会自动消失,一般用于帮助或提示。先给大家分享下我的解决思路:不用计算Toast的时间之类的,就是定义一个全局的成员变量Toast,这个Toast不为null的时候才去make,否则直接setText.为了按返回键后立即使Toast不再显示,重写父类Activity的onBackPressed()方法里面去cancel你的T…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

Toast是一种简易的消息提示框,它无法获取焦点,按设置的时间来显示完以后会自动消失,一般用于帮助或提示。

先给大家分享下我的解决思路:

不用计算Toast的时间之类的,就是定义一个全局的成员变量Toast, 这个Toast不为null的时候才去make,否则直接setText.为了按返回键后立即使Toast不再显示,重写父类Activity的onBackPressed()方法里面去cancel你的Toast即可.

代码:

private Toast mToast;

public void showToast(String text) {

if(mToast == null) {

mToast = Toast.makeText(TestActivity.this, text, Toast.LENGTH_SHORT);

} else {

mToast.setText(text);

mToast.setDuration(Toast.LENGTH_SHORT);

}

mToast.show();

}

public void cancelToast() {

if (mToast != null) {

mToast.cancel();

}

}

public void onBackPressed() {

cancelToast();

super.onBackPressed();

}

下面介绍下解决Android Toast重复显示等待时间过长的问题

当触发点击事件显示toast信息时,如果设置了时间长短类型为LENGTH_LONG,虽然回到后台运行,但是依然会显示toast信息,尤其是当连续点击时,toast就会排队等待直到所有toast显示完毕,这种界面的用户体验是很差的。

→ 1 toast 2 toast 3 toast 4 toast 5 toast →

为了避免这种问题,可以再toast信息显示的地方加个判断,方法如下:

private Context mcontext;

private Toast mtoast;

if(mtoast!=null)

{

mtoast.setText(R.string.neterror);

}

else

{

/*

* 第一个参数:当前的上下文环境,用this或getApplicationContext()表示。

* 第二个参数:显示的字符串,用R.string表示。

* 第三个参数:显示的时间长短。用LENGTH_LONG(长)或LENGTH_SHORT(短)表示,也可以用毫秒。

*/

mtoast=Toast.makeText(mcontext,R.string.neterror, Toast.LENGTH_SHORT);

}

mtoast.show(); //显示toast信息

另外,还可以通过设置Toast的其他属性来设计自己风格的Toast消息框。

时间: 2016-01-05

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/194339.html原文链接:https://javaforall.net

(0)
上一篇 2025年11月7日 下午8:22
下一篇 2025年11月7日 下午9:01


相关推荐

  • datagrip激活码(JetBrains全家桶)

    (datagrip激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月26日
    804
  • oracle最强大函数之一decode函数的使用[通俗易懂]

    oracle最强大函数之一decode函数的使用[通俗易懂]decode的几种用法1:使用decode判断字符串是否一样DECODE(value,if1,then1,if2,then2,if3,then3,…,else)含义为IF条件=值1THEN    RETURN(value1)ELSIF条件=值2THEN    RETURN(value2)    ……ELSIF条件=值nTHEN  

    2022年7月25日
    15
  • java中文转编码_利用JAVA将中文转Unicode编码

    java中文转编码_利用JAVA将中文转Unicode编码或者打开 MyEclipse 输入以下 JAVA 代码 则也可以将汉字转为对应的 unicode 编码 如图 publicclassT publicstatic StringinStr StringBuffer newStringBuf charc int

    2026年3月18日
    2
  • Postman使用教程详解「建议收藏」

    Postman使用教程详解「建议收藏」目录1、Postman安装与接口请求基本操作1.1Postman安装1.2发起一个接口请求的小测试2、接口测试实战2.1百度IP查询接口从抓包到测试实战2.2需要设置头域的请求实战2.3文件上传与json请求实战1、Postman安装与接口请求基本操作1.1Postman安装Postman下载网址:https://www.postman.com/downloads/安装好的界面长这样:1.2发起一个接口请求的小测试开发的天气API接口地址:https://tianqiapi.com/ind

    2022年5月31日
    38
  • 后端神器Dataway入门

    后端神器Dataway入门文章目录 Dataway 框架概述 Hasor 简介 Dataway 接口配置服务 Dataway 介绍 Dataway 的主打场景 Dataway 的技术架构 DataQL 聚合查询引擎 DataQL 介绍 SpringBoot 整合 Dataway 引入依赖启用 Hasor 启用 Dataway 初始化必要的表 MySQL 初始化数据源启动工程配置接口 Dataway 框架概述 Hasor 简介 Hasor 是由多个不同系列框架组合而成的一个框架体系 这些子框架的能力涵盖了 IoC Aop WebMVC 数据库以及其他的方方面面 这一切的基础要归功于 Haso

    2026年3月17日
    1
  • N8N安装基础教程

    N8N安装基础教程

    2026年3月15日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号