Android Space Bar Is Not Working

安稳与你 提交于 2020-01-24 04:26:27

问题


In my Android project I have restricted Edittext to allow only Alphanumeric characters. I have using below code snippet to achieve this

    <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" />

But while using this code if I tab the Space Bar showing in soft keypad it is acting as a BackSpacebutton and removing the characters in EditText. Anyone please help me to solve this issue.


回答1:


use this RegEx it will return true if it is alphanumeric else it will return false.

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



回答2:


You can also handle this Programetically.

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) {

        }
    });

I hope it may help you. :)




回答3:


I know it's very too late, but the problem is in the input digit restriction you have set.




回答4:


How about allowing the spacebar to create a space, and just remove it programmatically?



来源:https://stackoverflow.com/questions/36445783/android-space-bar-is-not-working

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!