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("");
this line, 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.
Try this
Use
android:digits
don't include " "(space in it)instead of
etPass.setText("");
just remove space fromEditText
data.so your
IF
condition will be as follows :In afterTextChanged method put the following code:
her is solution work for me :
Add it into edit text in xml file
To disable space use
Why don't you think about a character filter .. Here is a sample code snippet.