You can use the TextWatcher interface:
mEditText.addTextChangedListener(new TextWatcher() { int mCountBefore; int mCountAfter; int mStartNumber; @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { mCountBefore = count; } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { mCountAfter = count; mStartNumber = start; } @Override public void afterTextChanged(Editable s) { if (mCountAfter > mCountBefore && mStartNumber == 1) { s.append("/"); } else if (mCountAfter < mCountBefore && mStartNumber == 2) { s.delete(s.length()-1, s.length()); } if (s.length() == 6) { s.delete(s.length()-1, s.length()); } } });
Here is implemented:
- After entering the second digit in the input box, a slash appears;
- After removing the slash, the second digit is deleted;
- Length limit
MM/YY .
You can also implement MM/YY mask checking using, for example, regular expressions.