Android 用于校验集合参数的小封装

本文介绍了一种简化Android应用中表单校验的方法,通过自定义SimpleParams类实现链式调用设置参数及其校验规则,并提供统一的校验接口。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

android开发中,你是否对表单校验深恶痛觉.

是否还在写大量的if else来校验参数是否输入?

这个文章可能能给你帮助.

直接见代码:

public class SimpleParams extends HashMap<String, Object> {
     //这里放key,与校验失败后的提示内容
    private HashMap<Object, String> checkParams = new HashMap<>();

    public static SimpleParams create() {
        return new SimpleParams();
    }
    //返回this,链式编程
    public SimpleParams putP(String key, Object value) {
        this.putP(key, value, "");
        return this;
    }

    public SimpleParams putP(String key, Object value, String emptyMessage) {
        this.put(key, value);
        checkParams.put(key, emptyMessage);
        return this;
    }

    /**
     * 检查params
     *
     * @param context
     * @return
     */
    public boolean checkValue(Context context) {
        return checkValue(context, null);
    }

    /**
     * 检查params
     *
     * @param context
     * @return
     */
    public boolean checkValue(Context context, CheckParamsCallback checkParamsCallback) {
        Set<String> strings = keySet();
        for (String str : strings) {
            Object value = get(str);
            if (value == null || "".equals(value)) {
                String s = checkParams.get(str);
                //emptyMessage则说明,该参数不校验
                if (!TextUtils.isEmpty(s)) {
                    //传入回调,自定义处理
                    if (checkParamsCallback != null) {
                        checkParamsCallback.callBack(s);
                    } else {
                        //默认Toast提示.
                        Toast.makeText(context, s, Toast.LENGTH_SHORT).show();
                    }
                    return false;
                }
            }
        }
        return true;
    }

    public interface CheckParamsCallback {
        void callBack(String s);
    }
}
复制代码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值