解决Toast重复弹出的问题

做android开放经常会用到Toast,但是有个影响用户体验的问题,当实现Toast功能处,用户多次点击时候,会不停的弹出Toast,哪怕是已经跳转进入下一个界面了,Toast仍然会不停出现,直至全部展示完为止,这样的体验非常不好,所以就想着如何才能解决这个问题呢,第一想到的就是百度,看了网上别人写的使用单例模式解决这个问题,特来记录下。下面上代码:

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

/**
     * ToastUtils 利用单例模式,解决Toast重复弹出的问题
     */
    public class ToastUtils {
        private static  ToastUtils mToastUtils;
        private static Toast mToast;

        private ToastUtils(Context context){
            if (null == mToast){
                mToast = Toast.makeText(context.getApplicationContext(),"",Toast.LENGTH_LONG);
            }
        }

        public static ToastUtils getInstance(Context context) {
            if (mToastUtils == null){
                mToastUtils = new ToastUtils(context.getApplicationContext());
            }
            return mToastUtils;
        }

        public void showShortToast(String mString){
            if (mToast == null){
                return;
            }
            mToast.setText(mString);
            mToast.setDuration(Toast.LENGTH_SHORT);
            mToast.show();
        }

        public void showLongToast(String mString){
            if (mToast == null){
                return;
            }
            mToast.setText(mString);
            mToast.setDuration(Toast.LENGTH_LONG);
            mToast.show();
        }

    }

上面为Toast工具类,然后在用的地方按照下面方法调用就行了:

ToastUtils.getInstance(this).showLongToast("是否重复");

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值