title: EditText setError is not staying on the box
body: <p>Here is my setup </p>
  
  <pre><code>&lt;EditText
              android:id="@+id/inputNo"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:hint="@string/inputHintText"
              android:inputType="textCapCharacters"
              android:maxLength="10"
              android:textColor="#383838" /&gt;
  </code></pre>
  
  <p>and here is the java code</p>
  
  <pre><code>final EditText inputNo = (EditText)findViewById(R.id.inputNo); 
  
        inputNo.addTextChangedListener(new TextWatcher() {
  
          @Override
          public void onTextChanged(CharSequence s, int start, int before, int count)
          {
          }
  
          @Override
          public void beforeTextChanged(CharSequence s, int start, int count, int after) 
          {
          }
  
          @Override
          public void afterTextChanged(Editable s) 
          {
  
              if (s.length() &gt; 2)
              {
              if (!s.toString().startsWith("ABCD"))
              {
                  inputNo.setError( "Must start with ABCD" );
              }
              }
  
           }
      });
  </code></pre>
  
  <p>The code works fine and shows the red error message in the text box until keystroke 10. But lets say if the user still hits 11th key on the textbox then the error is going away and not staying on the textbox. 
  One thing I realized that after the 10th input char is entered the afterTextChanged() method is not invoked meaning the addTextChangedListener is not really listening to input keys after the 10th chars because we have defined android:maxLength="10" in EditText.</p>
  
  <p>How to resolve this? My desired result is that if the input do not start with "ABCD" then the error message stays on the edittext field until the user corrects it.</p>
  
  <p>Any pointers/help appreciated!</p>