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);
 }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。