是否可以禁止EditText中的第一个数字为"0"

use*_*266 6 android android-edittext

嗨,我只想知道是否可以禁止用户输入的第一个数字为"0".

<EditText
        android:id="@+id/editText1"
        android:layout_width="50dp"
        android:layout_height="35dp"  
        android:layout_marginBottom="2dp" 
        android:maxLength="2"
        android:inputType="number"
        android:digits="123456789">
        <requestFocus />
    </EditText>
Run Code Online (Sandbox Code Playgroud)

但是,使用此代码可以防止用户输入"0",但我只希望第一个数字不是"0"

Bad*_*rul 13

如果你想避免用户只在开头输入0,那么试试这个:

editText1.addTextChangedListener(new TextWatcher(){
        public void onTextChanged(CharSequence s, int start, int before, int count)
        {
            if (editText1.getText().toString().matches("^0") )
            {
                // Not allowed
                Toast.makeText(context, "not allowed", Toast.LENGTH_LONG).show();
                editText1.setText("");
            }
        }
        @Override
        public void afterTextChanged(Editable arg0) { }
        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
    }); 
Run Code Online (Sandbox Code Playgroud)