I'd created EditText with following.
<EditText
android:id="@+id/et_regis_num"
android:maxLines="1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:digits="1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ"
android:hint="@string/txt_reg_num"
android:inputType="textCapCharacters"
android:maxLength="10" />
in this edittext I don't want to press SPACE key but when I'm pressing SPACE key it's working as BACKSPACE key. means it's deleting one character in each twice press.
Set InputFilter
on EditText
.
Please check below answer it's worked for me.
InputFilter filter = new InputFilter() {
public CharSequence filter(CharSequence source, int start, int end,
Spanned dest, int dstart, int dend) {
for (int i = start; i < end; i++) {
if (Character.isWhitespace(source.charAt(i))) {
return "";
}
}
return null;
}
};
edtTxt.setFilters(new InputFilter[] { filter });
Just allow space in your edittext and replace space with empty,
@Override
public void afterTextChanged(Editable s) {
String result = s.toString().replaceAll(" ", "");
if (!s.toString().equals(result)) {
ed.setText(result);
ed.setSelection(result.length());
// alert the user
}
}
EditText editPassword = findViewById(R.id.et_Rpassword);
editPassword.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
if(charSequence.length() > 0){
if((charSequence.charAt(i)+"").equalsIgnoreCase(" ")){
Toast.makeText(RegisterActivity.this, "you'r can't enter Space", Toast.LENGTH_LONG).show();
String oldPass = editPassword.getText().toString();
editPassword.setText(oldPass.replace(" ",""));
}
}}
@Override
public void afterTextChanged(Editable editable) {
}
});
private InputFilter filter = new InputFilter() {
@Override
public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
if(source.equals(" ")){
int startSelection=editTextView.getSelectionStart();
int endSelection=editTextView.getSelectionEnd();
editTextView.setText(editTextView.getText().toString().trim());
editTextView.setSelection(startSelection,endSelection);
}
return null;
}
};
editTextView.setFilters(new InputFilter[] { filter });
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With