Android用于校验集合参数的小封装示例
时间:2019-04-07
本文章向大家介绍Android用于校验集合参数的小封装示例,主要包括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); } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
- 简单可视化-送你一双发现美的眼睛
- 享元模式
- 揭秘:针对中国移动用户的强大网银木马剖析
- 从源代码到Runtime发生的重排序编译器重排序指令重排序内存系统重排序阻止重排序
- 内存屏障保证缓存一致性优化
- 最新XSS 0day漏洞来袭,影响最新版本IE浏览器(含POC)
- Java内存模型—JMMhappens-before规则
- 那些年我们一起用过的Hybrid App
- 来看看美帝人民的安全意识:安全研究人员指责iOS版Outlook存在多处安全隐患
- 不是原配也可以-对接非原生配体
- oj放苹果
- 漏洞追踪:最新IE UXSS漏洞技术分析
- 如何使用Python超参数的网格搜索ARIMA模型
- int string相互转换
- 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 文档注释
- Linux程序运行时加载动态库失败的解决方法
- Linux/CentOS系统同步网络时间的2种方法详解
- Linux 常用命令之Linux more命令使用方法
- Ubuntu下VIM配置成C++开发编辑器
- Ubuntu环境下使用G++编译CPP文件
- Linux下Tomcat的几种运行方式讲解
- linux中chmod命令用法详解
- Linux强制释放占用端口以及Linux防火墙端口开放方法详解
- CentOS7.5从零安装Python3.6.6的教程详解
- 实现一台或者多台Linux实例解绑SSH密钥对
- centos7切换启动内核与切换启动模式的讲解
- Ubuntu下Sublime Text无法输入中文最简单的解决方案
- 详解linux系统输入输出管理和vim的常用功能
- 查看远程 Linux 系统中某个端口是否开启的三种方法
- Linux使用iptables限制多个IP访问你的服务器