java - 如果 Table 中的任何 EditText 为空
问题描述
在布局中,我有一个表格和两个按钮,一个按钮在表格中动态添加另一行,另一个按钮是提交按钮,该按钮将 edittexts 的值存储在表格中的行内。我想显示一条消息并取消提交,除非该表中的所有编辑文本都已填满。所以它是对带有不确定行数的表进行表单验证,其中包含编辑文本。因此,如果表格布局中的任何编辑文本为空,如何显示错误消息。
解决方案
使用以下代码
public boolean isEmpty(ViewGroup viewGroup){
for(int i=0;i<viewGroup.getChildCount();i++){
View view = viewGroup.getChildAt(i);
if(view instanceof ViewGroup){
boolean isEmpty= isEmpty((ViewGroup) view);
if(isEmpty){
return true;
}
}else if(view instanceof EditText){
EditText editText= (EditText) view;
String input = editText.getText().toString();
if("".equals(input)){
return true;
}
}
}
return false;
}
所以基本上你可以传递表格视图实例(这是一个视图组)或任何其他视图组实例,该方法将处理循环遍历其子项以检查是否有任何 edittext 有一个空字段
推荐阅读
- php - 什么是 mcrypt_get_block 替代方案以及如何使用它
- java - maven shade没有用manifest创建胖罐
- arrays - 由于双 for 循环导致运行时问题
- android - 如何使用 Api 将 Api 文件发送到服务器?带改造2
- c# - 多线程套接字连接挂起 c#。套接字超时/挂起
- python - 具有分类数据的 Pandas 系列直方图
- ssis - 从 SSIS 运行 Winscp 执行进程任务
- clojure - 热修复“警告:任何?已经引用:#'clojure.core/any?在命名空间:leiningen.midje,被替换为:#'leiningen.midje/any?”
- r - 如何在R中提取列表的元素?
- javascript - 从无线电输入更改标签的图像