Android-检查当前视图中是否存在验证错误

Android-检查当前视图中是否存在验证错误,android,validation,Android,Validation,假设我得到了一个带有EditText的ViewPager片段,我得到了这行代码:myEditText.SetError有一个错误 现在我想知道是否应该允许用户前进到下一页。为了确定用户是否可以移动到下一页,我如何检查整个片段(不仅仅是示例中的单个编辑文本)中是否存在任何验证错误?有点像如果!此.containsErrors返回true 您可以检查TextView的getError的返回值: 返回设置为显示的错误消息 setErrorCharSequence,如果未设置错误或该错误为空,则为空 在

假设我得到了一个带有EditText的ViewPager片段,我得到了这行代码:myEditText.SetError有一个错误


现在我想知道是否应该允许用户前进到下一页。为了确定用户是否可以移动到下一页,我如何检查整个片段(不仅仅是示例中的单个编辑文本)中是否存在任何验证错误?有点像如果!此.containsErrors返回true

您可以检查TextView的getError的返回值:

返回设置为显示的错误消息 setErrorCharSequence,如果未设置错误或该错误为空,则为空 在用户输入后被小部件清除

进行检查的简单程序可以是:

   boolean isErrorFree() {
      ViewGroup viewGroup = (ViewGroup) getView();
      if (viewGroup == null) {
            return true;
      }
      for (int i = 0; i < viewGroup.getChildCount(); i++) {
           View view = viewGroup.getChildAt(i);
           if (view instanceof TextView) {
               if (!TextUtils.isEmpty(((TextView)view).getError()) {
                       return false;
               }
           }
      }
      return true;
   }

检查打字错误

这是仅针对一个编辑文本的答案。我想检查整个片段是否不包含任何有错误的小部件,而不是逐个检查所有小部件。顺便说一句,为了调用setError,您必须检查小部件的内容是否满足您的约束。总之,你可以编写一个例程,在片段视图的所有子级上循环,检查当前子级是否是TextView,并执行相同的检查是的,我这样做了,但我认为可能有一个方法像fragment.checkifcontainersrorsthis或类似的东西不,没有这样的事情。Fragment是一个独立于其内容的部分UI。可以肯定的是,我等了一天,如果没有其他人给出答案,我会接受你的答案
   boolean isErrorFree() {
      ViewGroup viewGroup = (ViewGroup) getView();
      if (viewGroup == null) {
            return true;
      }
      for (int i = 0; i < viewGroup.getChildCount(); i++) {
           View view = viewGroup.getChildAt(i);
           if (view instanceof TextView) {
               if (!TextUtils.isEmpty(((TextView)view).getError()) {
                       return false;
               }
           }
      }
      return true;
   }