Android 单例模式封装Toast

参考

应用最广的模式-单例模式

封装

public class ToastUtil {
    
    

    private Context context;

    private Toast mToast;
    /**
     * 私有化构造
     */
    private ToastUtil() {
    
    
    }

    public static ToastUtil getInstance() {
    
    
        return ToastUtilHelper.INGLETON;
    }

    /**
     * 静态内部类
     */
    private static class ToastUtilHelper {
    
    
        private static final ToastUtil INGLETON = new ToastUtil();
    }

    /**
     * 初始化
     * @param context 上下文
     */
    public void init(@NonNull Context context){
    
    
        this.context=context;
    }

    /**
     * 显示
     * @param charSequence 显示文本
     */
    @SuppressLint("ShowToast")
    public void showToast(CharSequence charSequence){
    
    
        if (null==mToast){
    
    
            mToast=Toast.makeText(context,charSequence,Toast.LENGTH_SHORT);
        }else {
    
    
            mToast.setText(charSequence);
        }
        mToast.setGravity(Gravity.CENTER,0,0);
        mToast.show();
    }
}

初始化

public class BaseApplication extends Application {
    
    

    @Override
    public void onCreate() {
    
    
        super.onCreate();
        ToastUtil.getInstance().init(this);
    }
}

调用

ToastUtil.getInstance().showToast("toast");

猜你喜欢

转载自blog.csdn.net/m0_48440239/article/details/114696662
今日推荐