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