Android:如何检查用户是否从edittext数字中单击不同的键?

问题描述 投票:0回答:1

我的活动中有一个edittext,用户只能输入字母。我想检查用户是否输入了其他字母而不是字母。我怎样才能做到这一点?

我已经尝试过使用onKeyListener,但我认为这样做的方法是错误的,因为你必须为其他所有不是字母的键写下“else if if”块。

<EditText
           android:id="@+id/editText"
           android:layout_width="match_parent"
           android:layout_height="wrap_content"
           android:background="@android:color/transparent"
           android:inputType="textMultiLine"
           android:digits="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz">
</EditText>

例如,当用户点击空格时,我想向他显示一个警告对话框,上面写着“你只能输入字母!”。或点击数字或点击斜线。

java android
1个回答
0
投票

试试这个:

 editText.setOnKeyListener(new View.OnKeyListener() {
            @Override
            public boolean onKey(View v, int keyCode, KeyEvent event) {
                String src = (char)event.getUnicodeChar()+"";
                if(src.toString().matches("[a-zA-Z ]+")&&!src.equals(" ")||keyCode==KeyEvent.KEYCODE_DEL){
                    // do something here
                }
                else {
                    // alert dialog that says "you can type only letters!".
                }
                return false;
            }
        });
© www.soinside.com 2019 - 2024. All rights reserved.