Android避免反复弹出同一Toast

原创 2016年06月01日 20:37:28

前言

在Android开发中,当我们使用Toast提示一些消息的时候,比如点击某个按钮或者其它某个操作后会提示一条Toast,而Toast是会持续一段时间再消失的,但是当用户疯狂点击了这个按钮或者某个操作后,可能就会造成一条Toast反复弹出很多次,持续较长时间,这也许是我们不希望看到的,所以我们可以设定一个显示的时间间隔


代码

package com.example.msi_cn.myapplication;

import android.content.Context;
import android.widget.Toast;

public class ToastUtil {
    private static String oldMsg;
    private static long time;

    public static void showToast(Context context, String msg, int duration) {
        if (!msg.equals(oldMsg)) { // 当显示的内容不一样时,即断定为不是同一个Toast
            Toast.makeText(context, msg, duration).show();
            time = System.currentTimeMillis();
        } else {
            // 显示内容一样时,只有间隔时间大于2秒时才显示
            if (System.currentTimeMillis() - time > 2000) {
                Toast.makeText(context, msg, duration).show();
                time = System.currentTimeMillis();
            }
        }
        oldMsg = msg;
    }

}

我们判断当为同一个Toast的时候只有显示的间隔时间大于2秒额时候才会继续弹出Toast。

至于这个间隔时间,你也可以根据你的喜好来设定

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Android 弹出 Toast 时取消上一个 Toast(完美方案)增加同步

Toast重复显示解决方法: private Toast mToast; public void showToast(String text) { if(mToas...

【Android】如何避免Toast多次点击后一直提示,消除不了

用系统原生的Toast提示用户时,经常会遇到这个问题,当多次点击后Toast一直显示(Toast.makeText(context,"this is content",Toast.LENTH_LONG...

[Android] 多次按钮点击Toast重复显示解决方案

【背景介绍】  最近遇到这样一个BUG,页面中有个按钮,点击按钮后弹出toast提示。但是多次点击此按键时,Toast会一直显示,点击的次数越多,显示的时间越长(其实就是多次点击按键时,Toast顺序...

android 关于Toast重复显示解决方法

解决思路:   不用计算Toast的时间之类的,就是定义一个全局的成员变量Toast, 这个Toast不为null的时候才去make,否则直接setText.为了按返回键后立即使Toast不再显示,...

Android 特殊的单例Toast(防止重复显示)

1、介绍 所谓单例Toast就是每次显示的时候不会重复创建,节约资源。网上有很多这样的单例Toast,但是本篇介绍的是特殊的单例Toast,根据显示事件的长短来显示内容。正常的Toast显示的时候会...

Android完美解决多次点击Toast一直提示不消失问题

没处理Toast前,点多少次就提示多少次,体验很不友好代码:Toast.makeText(context,"内容",Toast.LENTH_SHORT).show处理Toast后效果:代码:/** ...
  • codekxx
  • codekxx
  • 2017年04月27日 13:54
  • 443

Android学习之解决多次点击导致Toast不断弹出的问题

当点击某个控件会弹出Toast时,如果直接使用Toast.makeText()的方式的话,会发现在我们多次点击的情况下,Toast会延迟地不断地出现,直接点击的次数的Toast出现完毕为止,这种情况对...

Android开发小技巧系列之避免Toast连续弹出

很多时候,如果用户持续执行一种操作,会连续执行Toast提示,即便用户将app运行到后台,Toast还是会持续弹出,为避免此情况,可以使用以下方法,一个Toast没有结束的时候再显示Toast不累加时...

Android中防止Toast一直点击一直弹出

在使用工作中经常使用Toast,如果用户连续点击很多下按钮,可能Toast显示一两分钟也不会消失,这就给我们的用户造成了困扰。以下是解决办法:private int num = 0;//连续点击的次数...
  • W_LIN
  • W_LIN
  • 2016年10月09日 14:43
  • 511

Android Toast防止重复显示的方法

Android Toast防止重复显示的方法一般来说,我们想要显示一个Toast提示,我们可以直接用Toast.makeText(context, text, duration).show();的方法...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android避免反复弹出同一Toast
举报原因:
原因补充:

(最多只允许输入30个字)