title: Adding a Dash in the editText automatically in Android
body: <p>Have a look at my codes:</p>
  
  <pre><code>txt_HomeNo.addTextChangedListener(new TextWatcher() {
  
          @Override
          public void onTextChanged(CharSequence s, int start, int before, int count) {
  
              boolean flag = true;
              String eachBlock[] = txt_HomeNo.getText().toString().split("-");
              for (int i = 0; i &lt; eachBlock.length; i++) {
                  if (eachBlock[i].length() &gt; 3) {
                      flag = false;
                  }
              }
  
              if (flag) {
  
                  txt_HomeNo.setOnKeyListener(new OnKeyListener() {
  
                      @Override
                      public boolean onKey(View v, int keyCode, KeyEvent event) {
  
                          if (keyCode == KeyEvent.KEYCODE_DEL)
                              keyDel = 1;
                          return false;
                      }
                  });
  
                  if (keyDel == 0) {
  
                      if (((txt_HomeNo.getText().length() + 1) % 4) == 0) {
  
                          if (txt_HomeNo.getText().toString().split("-").length &lt;= 3) {
                              txt_HomeNo.setText(txt_HomeNo.getText() + "-");
                              txt_HomeNo.setSelection(txt_HomeNo.getText().length());
                          }
                      }
                      a = txt_HomeNo.getText().toString();
                  } else {
                      a = txt_HomeNo.getText().toString();
                      keyDel = 0;
                  }
  
              } else {
                  txt_HomeNo.setText(a);
              }
  
          }
  </code></pre>
  
  <p>The maximum length of the phone number is only 7. And when I already inputted 3 digits, it appends dash (that's what I'd like to happen) but my problem here is that the next 3 digits also appends dash <strong>(Like this: <code>511-871-</code>)</strong>... My question is how can I do the codings with the next 4 digit number with having a dash on it. Please help me with this. thanks!</p>