首页 > 解决方案 > 如果 Table 中的任何 EditText 为空

问题描述

在布局中,我有一个表格和两个按钮,一个按钮在表格中动态添加另一行,另一个按钮是提交按钮,该按钮将 edittexts 的值存储在表格中的行内。我想显示一条消息并取消提交,除非该表中的所有编辑文本都已填满。所以它是对带有不确定行数的表进行表单验证,其中包含编辑文本。因此,如果表格布局中的任何编辑文本为空,如何显示错误消息。

标签: javaandroid

解决方案


使用以下代码

 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 有一个空字段


推荐阅读