Ограничить конкретную букву / цифру в первом вводе в тексте редактирования

В настоящее время у меня есть edittext, который требуется пользователю для ввода своего мобильного номера.

Что мне нужно сделать, так это ограничить пользователя вводом "0" и разрешить "9" быть первым вводом в тексте редактирования для примера:

когда пользователь пытается ввести "0" в тексте редактирования, и это текущий первый номер в тексте редактирования, это не должно быть разрешено.

вход, который может быть принят только: 9351312351, 9313151231. другой номер, например 0931231551, 02312512312, не должен быть разрешен.

Моя текущая идея - что-то вроде этого в textwatcher:

@Override
    public void afterTextChanged(Editable editable) {
 if (!mMobileNumberNoEditText.getText().toString().substring(0,0).equals("9")) {
                mMobileNumberNoEditText.setText("");
            }
}

В настоящее время вызывает ошибку, как только я введу любое число. Логкат ничего не показывает. он просто замерз и перестал работать.

1 ответ

Решение

Вы можете сделать это, как показано ниже, проверив длину

@Override
public void afterTextChanged(Editable editable) {
String number = number.toString()
    if(number.startsWith("0"))
    {
        mMobileNumberNoEditText.setText("");
    }
}
Другие вопросы по тегам