Android用于校验集合参数的小封装示例
时间:2022-07-28
本文章向大家介绍Android用于校验集合参数的小封装示例,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
前言
android开发中,你是否对表单校验深恶痛觉.
是否还在写大量的if else来校验参数是否输入?
这个文章可能能给你帮助.
直接见代码:
/**
* Created by Jlanglang on 2017/9/4 0004.
*/
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);
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助。
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- python实现线性回归之岭回归
- 操作系统实验之存储管理
- MySQL EXPLAIN 的使用
- mybatis文件映射之关联查询初探(一)
- python实现线性回归之弹性网回归
- 【原创】python倒排索引之查找包含某主题或单词的文件
- python实现逻辑回归
- Linux文件管理参考
- CloudBase Framework丨第一个 Deno 部署工具是如何打造的?
- 关于null通过+" ",String.ValueOf转换为字符串的问题!!!
- Java实现尺取法
- 【自然语言处理】利用朴素贝叶斯进行新闻分类(自己处理数据)
- mybatis文件映射之select操作返回Map
- shm进程间通信失败了!!!
- Vue3.0 beta源码学习笔记(二)