Android空格键不工作

Android空格键不工作,android,android-edittext,android-widget,android-softkeyboard,Android,Android Edittext,Android Widget,Android Softkeyboard,在我的Android项目中,我限制了Edittext只允许字母数字字符。我使用下面的代码片段来实现这一点 <EditText android:id="@+id/edt_text" android:layout_width="140dp" android:layout_height="wrap_content"

在我的Android项目中,我限制了
Edittext
只允许
字母数字字符。我使用下面的代码片段来实现这一点

    <EditText
            android:id="@+id/edt_text"
            android:layout_width="140dp"      
            android:layout_height="wrap_content"                                   
            android:layout_margin="5dp"                                                 
            android:digits="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"
            android:ems="10"
            android:imeOptions="actionNext"
            android:maxLength="8"
            android:padding="5dp"
            android:singleLine="true" />


但是,如果我在
软键盘
中显示的
空格键
上单击tab键,则使用此代码时,它将充当
退格
按钮,并删除
编辑文本
中的字符。任何人都可以帮我解决这个问题。

让空格键创建一个空格,然后通过编程将其删除怎么样?

使用这个正则表达式如果它是字母数字,它将返回true,否则它将返回false

public boolean isAlphaNumeric(String s){
    String pattern= "^[a-zA-Z0-9]*$";
        if(s.matches(pattern)){
            return true;
        }
        return false;   
}

你也可以通过编程来处理这个问题

mEditText1.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.equals(" ")) {
                mEditText1.getText().toString().trim();
            }
        }

        @Override
        public void afterTextChanged(Editable s) {

        }
    });

我希望它能帮助你

我知道已经太晚了,但问题在于您设置的
输入限制


我不需要在
Edittext
中的
空格
来使用它,你能详细说明一下吗?如果(isAlphaNumeric(getUserName),其中getUserName是用户在Edittext中输入的字符串。。。