Android避免反复弹出同一Toast

前言

在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。

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

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/afei__/article/details/51558831
文章标签: Android Toast
个人分类: Android Android UI
上一篇Android检查应用权限是否被禁用,解决权限被禁用时程序崩溃
下一篇git branch用法总结,查看、新建、删除、重命名
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭