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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 我刚刚做了一个艰难的决定「建议收藏」

    我刚刚做了一个艰难的决定「建议收藏」腾讯做了个艰难的决定,如果您电脑里安装了360软件,建议您卸载了它在运行QQ~可口可乐做出了一个非常艰难的决定,如果检测到用户胃里有百事可乐,将自动释放敌敌畏和鹤顶红中国移动做出一个非常艰难的决定,如果方圆百米内检测到有联通用户将使这些用户不间断自动拨打110迅雷做出一个非常艰难的决定,如果检测到用户电脑内安装快车,将拒绝下载教育片宝马做出了一个非常艰难的决定,如果检测到用户使用过奔驰宝马刹车将自动失灵蒙牛做了个艰难的决定,如果监测到用户胃里有伊利牛奶,将自动释放三聚氰胺麦当劳做了个艰难的决定,如果监测

    2022年7月25日
    9
  • docker(2)CentOS 7安装docker环境「建议收藏」

    docker(2)CentOS 7安装docker环境「建议收藏」前言前面一篇学了mac安装docker,这篇来学习在linux上安装docker环境准备Docker支持以下的CentOS版本,目前,CentOS仅发行版本中的内核支持Docker。Doc

    2022年7月28日
    8
  • dns欺骗编辑html,charles DNS欺骗

    dns欺骗编辑html,charles DNS欺骗DNS欺骗/DNSSpoofing功能:通过将您自己的主机名指定给远程地址映射来欺骗DNS查找一般的开发流程中,在上线之前都需要在测试环境中先行进行验证,而此时手机客户端请求的域名是不太容易改变的,可以通过设置dns方式把域名转发到测试机上,具体设置Tools->DNSSpoofingSettings比如要把所有包含xxxxxx.com的域名转到10.0.0.71的服务器上,其实用修改…

    2025年5月27日
    5
  • Intellij Idea 主题下载(Eclectide Monokai)

    Intellij Idea 主题下载(Eclectide Monokai)从国外大神的博客上找的一个很棒的主题EclectideMonoka,感觉是在Durcula上做了很多优化,是黑色主题的升级版,通过一周的使用感觉非常爽,对方法、变量的高亮以及选中的显示等等色彩搭配挺好,分享一下

    2022年5月31日
    132
  • leetcode-剑指offer59-I 滑动窗口的最大值

    leetcode-剑指offer59-I 滑动窗口的最大值2020-8-13这道题我实在没想到什么好方法,就暴力求解了。看了题解才知道stl里面还有双端队列这个数据结构,可是还是没看懂大佬们怎么用,只知道大概是维护了一个最小栈。等过几天更新大佬们的解法。https://leetcode-cn.com/problems/hua-dong-chuang-kou-de-zui-da-zhi-lcof/暴力解法classSolution{public:intget_Max(queue<int>que){

    2022年7月13日
    17
  • idea激活码2021(破解版激活)

    idea激活码2021(破解版激活),https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月16日
    101

发表回复

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

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