Android用于校验集合参数的小封装示例
更新时间:2017年10月16日 09:09:00 作者:Jlanglang
本篇文章主要介绍了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);
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
Flutter利用SizeTransition实现组件飞入效果
本文将为大家介绍SizeTransition,SizeTransition用于更改子组件的尺寸来实现动画,支持垂直方向或水平方向修改动画。本文将利用其实现组件飞入效果,需要的可以参考一下2022-04-04
Android LayoutInflater中 Inflate()方法应用
本文主要介绍Android 中Inflate 方法的用法, 在开发Android应用过程中,可以在程序中应用 Inflate()方法加载新布局,希望能帮助有需要的朋友2016-07-07


最新评论