一聚教程网:一个值得你收藏的教程网站

热门教程

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

时间:2022-06-25 23:17:17 编辑:袖梨 来源:一聚教程网

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

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

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

直接见代码:

/**
 * Created by Jlanglang on 2017/9/4 0004.
 */

public class SimpleParams extends HashMap {
 //这里放key,与校验失败后的提示内容
 private HashMap 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 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);
 }
}

热门栏目