首先将EditText的最大字符数设置为5,如下所示:
android:maxLength="5"
并设置为数字editText
android:inputType="number"
然后将onEditTextChangedListener添加到EditText以检测字符数是否更改为2并且没有从3更改为2,如果删除“/”之前的数字则删除“/”:
editText.addTextChangedListener(new TextWatcher() {
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
// TODO Auto-generated method stub
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
if (before == 1 && count == 2 && s.charAt(s.length()-1) != '/') {
editText.setText(editText.getText().toString() + "/");
}
if (editText.getText().toString().toCharArray().length < 3) {
editText.setText(editText.getText().toString().replace("/", ""));
}
}
});