Hello. There is a component:

<EditText android:id="@+id/elMail" android:layout_width="280dp" android:layout_height="wrap_content" android:layout_below="@+id/famil" android:layout_centerHorizontal="true" android:layout_marginTop="20dp" android:background="@drawable/edit_text_reg" android:ems="10" android:hint="Электронная почта" android:maxLength="35" android:maxLines="1" /> 

How can I prevent the entry of spaces in this field? I would be grateful for the help!

    1 answer 1

     InputFilter filter = new InputFilter() { @Override public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) { boolean keepOriginal = true; StringBuilder sb = new StringBuilder(end - start); for (int i = start; i < end; i++) { char c = source.charAt(i); if (isCharAllowed(c)) // put your condition here sb.append(c); else keepOriginal = false; } if (keepOriginal) return null; else { if (source instanceof Spanned) { SpannableString sp = new SpannableString(sb); TextUtils.copySpansFrom((Spanned) source, start, sb.length(), null, sp, 0); return sp; } else { return sb; } } } private boolean isCharAllowed(char c) { return c != ' '; } } editText.setFilters(new InputFilter[] { filter }); 

    Or directly in the markup on the contrary specify the available characters:

     <EditText android:id="@+id/elMail" android:layout_width="280dp" android:layout_height="wrap_content" android:layout_below="@+id/famil" android:layout_centerHorizontal="true" android:layout_marginTop="20dp" android:background="@drawable/edit_text_reg" android:ems="10" android:hint="Электронная почта" android:maxLength="35" android:maxLines="1" android:digits="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" />