В моем приложении я хочу получить номер телефона от пользователя, и если первый 2 персонажа этого номера будет 09, я хочу показать Toast.
Я написал приведенный ниже код, но он всегда показывает мне сообщение Toast.
Мой код:
phoneNumberPage_phoneEdtTxt.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
if (s.toString().length() < 11) {
enableDisableBtn(0.3f, false);
} else {
hideKeyboard(activity);
enableDisableBtn(1.0f, true);
}
}
@Override
public void afterTextChanged(Editable s) {
if (s.toString().trim().length()==1){
if (!s.equals("0")){
Toast.makeText(context, "NOOOOOO", Toast.LENGTH_SHORT).show();
}
}
}
});
}
Как мне это сделать? Не могли бы вы мне помочь?
тост появится, когда вы введете все, кроме 0.
@ Мустафагил, как я могу это сделать? Вы можете мне помочь и прислать мне код




Вы должны проверить Ссылка на строку, особенно метод подстроки. В вашем случае вы можете использовать такую подстроку:
String twoFirstCharacters = string.substring(0, 2);
if (twoFirstCharacters.equals("09")) {
// here we go
}
используя начинается с
if (s.startsWith("09")){
или вы можете использовать Спички с регулярным выражением
if (s.matches("09(.*)"))
Используйте метод String.startsWith ()
@Override
public void afterTextChanged(Editable s) {
if (s!=null&& !s.toString().trim().isEmpty()){ // make sure String value is there
if (!s.startsWith("09")){ // check string qualifies your requirement
Toast.makeText(context, "NOOOOOO", Toast.LENGTH_SHORT).show();
}
}
}
вы можете использовать метод
startsWith.