Android用于校驗(yàn)集合參數(shù)的小封裝示例
前言
android開發(fā)中,你是否對表單校驗(yàn)深惡痛覺.
是否還在寫大量的if else來校驗(yàn)參數(shù)是否輸入?
這個(gè)文章可能能給你幫助.
直接見代碼:
/**
* Created by Jlanglang on 2017/9/4 0004.
*/
public class SimpleParams extends HashMap<String, Object> {
//這里放key,與校驗(yàn)失敗后的提示內(nèi)容
private HashMap<Object, String> checkParams = new HashMap<>();
public static SimpleParams create() {
return new SimpleParams();
}
//返回this,鏈?zhǔn)骄幊?
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則說明,該參數(shù)不校驗(yàn)
if (!TextUtils.isEmpty(s)) {
//傳入回調(diào),自定義處理
if (checkParamsCallback != null) {
checkParamsCallback.callBack(s);
} else {
//默認(rèn)Toast提示.
Toast.makeText(context, s, Toast.LENGTH_SHORT).show();
}
return false;
}
}
}
return true;
}
public interface CheckParamsCallback {
void callBack(String s);
}
}
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
安卓(Android)聊天機(jī)器人實(shí)現(xiàn)代碼分享
這是一個(gè)安卓智能聊天機(jī)器人的源碼,采用了仿微信的風(fēng)格設(shè)計(jì),調(diào)用的是圖靈機(jī)器人的API,能夠?qū)崿F(xiàn)智能聊天、講故事、講笑話、查天氣、查公交等豐富的功能2015-11-11
Android開發(fā)教程之如何屏蔽View的重復(fù)點(diǎn)擊
這篇文章主要給大家介紹了關(guān)于Android開發(fā)教程之如何屏蔽View的重復(fù)點(diǎn)擊的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-09-09
Flutter利用SizeTransition實(shí)現(xiàn)組件飛入效果
本文將為大家介紹SizeTransition,SizeTransition用于更改子組件的尺寸來實(shí)現(xiàn)動畫,支持垂直方向或水平方向修改動畫。本文將利用其實(shí)現(xiàn)組件飛入效果,需要的可以參考一下2022-04-04
Android中圖片壓縮的三種實(shí)現(xiàn)方法
在?Android?開發(fā)中,圖片壓縮是一個(gè)重要的優(yōu)化手段,這篇文章為大家整理了幾種主流的圖片壓縮方法,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-02-02
Android LayoutInflater中 Inflate()方法應(yīng)用
本文主要介紹Android 中Inflate 方法的用法, 在開發(fā)Android應(yīng)用過程中,可以在程序中應(yīng)用 Inflate()方法加載新布局,希望能幫助有需要的朋友2016-07-07
Android藍(lán)牙通信之搜索藍(lán)牙設(shè)備
這篇文章主要介紹了Android藍(lán)牙通信之搜索藍(lán)牙設(shè)備,需要的朋友可以參考下2017-09-09

