Android定义全局Toast(利用全局Context实现)

我们都知道Toast需要一个上下文Context,可是这样写着很不方便,有时一个服务中另开的线程需要弹出Toast,上下文不好找吧。

下面就给出一个“全局”Toast,只需要给他要弹出的信息即可。use it, life will be easier :)

原理:比如有个MainActiviy,给它声明定义一个静态公开的上下文Context成员context。在MainActivity创建时context = this;就好。这样就得到了一个全局的上下文。利用它,很好实现全局Toast了吧。下面看代码实现

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



/**
 * Created by wjsay on 2017/12/25.
 */

public class ToastUtils {
    private static Context context;
    private static Context getContext() {
        if(context == null) {
            context = MainActivity.context;
        }
        return context;
    }
    public static void showShortToast(String msg) {

        Toast.makeText(getContext(), msg, Toast.LENGTH_SHORT).show();
    }

    public static void showLongToast(String msg) {
        Toast.makeText(getContext(), msg, Toast.LENGTH_LONG).show();
    }

    public static void showToast(String msg) {
        showShortToast(msg); //默认showShortToast
    }
}

用着挺方便的。

--by myorange

2017-12-25

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值