在edittext的第一个输入中限制特定的字母/数字

时间:2018-08-31 07:04:42

标签: android android-edittext

当前,我有用户输入其手机号码所需的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 个答案:

答案 0 :(得分:1)

您可以像下面通过检查长度进行操作

@Override
public void afterTextChanged(Editable editable) {
String number = number.toString()
    if(number.startsWith("0"))
    {
        mMobileNumberNoEditText.setText("");
    }
}