In my android application I need to disable Spacebar only. But I didn't find a solution for this problem. I need to disable space bar and when user enter space should not work; special characters, letters, digits and all other - should work. What I tried is:
etPass.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
// TODO Auto-generated method stub
String str = s.toString();
if(str.length() > 0 && str.contains(" ")) {
etPass.setError("Space is not allowed");
etPass.setText("");
}
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
}
});
But the problem here is once space comes whole text is deleting.
I removed etPass.setText("");
, so at that time error message is showing, but at that time user can still able to type space. But what I need is user shouldn't able to type the space.
This solution worked for me :
android:digits="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890"
android:inputType="textFilter"
Add it into edit text in the XML file