title: How do I delete text in EditText with TextWatcher? Every time it detects a string and formats its
body: <p>I have an EditText with a TextWatcher. It is supposed to format the text to a human height like 5'9". But when user makes a mistake and wants to delete the mistyped character the TextWather doesn't allow him to do that. Let's say user wants to delete " characther the TextWather adds its back right away. Below is the code. So how do I allow user to delete text in the EditText?</p>
  
  <pre><code>private class CustomTextWatcher implements TextWatcher {
      private EditText mEditText;
  
  public CustomTextWatcher(EditText e) {
      mEditText = e;
  }
  
  public void beforeTextChanged(CharSequence s, int start, int count,
          int after) {
  }
  
  public void onTextChanged(CharSequence s, int start, int before,
          int count) {
  
  
  }
  
  public void afterTextChanged(Editable s) {
      int count = s.length();
      String str = s.toString();
      if (count == 1) {
          str = str + "'";
      } else if (count == 3) {
          str = str + "\"";
      } else if ((count &gt; 4) &amp;&amp; (str.charAt(str.length() - 1) != '\"')) {
          str = str.substring(0, str.length() - 2)
                  + str.charAt(str.length() - 1) + "\"";
      } else {
          return;
      }
      mEditText.setText(str);
      mEditText.setSelection(mEditText.getText().length());
  
  
  }
  </code></pre>
  
  <p>}</p>