如果表中的任何EditText为空

时间:2019-05-26 11:40:11

标签: java android

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

1 个答案:

答案 0 :(得分:0)

使用以下代码

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