欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

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

程序员文章站 2023-12-09 13:41:33
前言 android开发中,你是否对表单校验深恶痛觉. 是否还在写大量的if else来校验参数是否输入? 这个文章可能能给你帮助. 直接见代码:...

前言

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

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