Reputation: 976
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 BackSpace
button and removing the characters in EditText
. Anyone please help me to solve this issue.
Upvotes: 5
Views: 2786
Reputation: 3817
I know it's very too late, but the problem is in the input
digit restriction you have set.
Upvotes: 1
Reputation: 671
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. :)
Upvotes: 1
Reputation:
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;
}
Upvotes: 0
Reputation: 500
How about allowing the spacebar to create a space, and just remove it programmatically?
Upvotes: 0