Android EditText Максимальная Длина



Я установил максимальную длину текста в поле EditText.



<EditText
android:id="@+id/courseDescriptionField"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inputType="textMultiLine"
android:lines="5"
android:maxLength="@integer/max_course_description_limit"
android:gravity="left|top" >
</EditText>




в качестве примечания я использую TextWatcher для отслеживания предела. Есть ли способ полностью ограничить объем текста, поэтому что когда есть 140 символов, ничего не происходит, когда нажимается что-то другое, кроме backspace/delete?

577   8  

8 ответов:

возможный дубликат ограничить длину текста EditText в Android

используйте android: maxLength= "140"

Это должно сработать. :)

надеюсь, что это поможет

У меня была та же проблема.

вот решение

android:inputType="textNoSuggestions|textVisiblePassword"
android:maxLength="6"

спасибо как я могу отключить предложения в EditText?

EditText editText= ....;
InputFilter[] fa= new InputFilter[1];
fa[0] = new InputFilter.LengthFilter(8);
editText.setFilters(fa);

у меня была та же проблема. Он отлично работает, когда вы добавляете это:

android:inputType="textFilter"

на EditText.

если вы хотите увидеть метку счетчика, вы можете использовать app:counterEnabled и android:maxLength, например:

<android.support.design.widget.TextInputLayout
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  app:counterEnabled="true">

  <EditText
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:maxLength="420" />

</android.support.design.widget.TextInputLayout>

НЕ НАДО set app:counterMaxLength on TextInputLayout потому что это будет конфликт с android:maxLength в результате возникает проблема невидимых символов после того, как текст достигает предела размера.

Вы можете попробовать этот

 EditText et = (EditText) findViewById(R.id.myeditText);
    et.setFilters(new InputFilter[]{ new InputFilter.LengthFilter(140) }); // maximum length is 140

если вы используете maxLength = 6 , несколько раз, что вы вводите эти символы добавляются в верхней части клавиатуры под названием Предложения. Поэтому, когда вы удаляете введенные буквы, на этот раз он сначала удалит предложения, а затем фактический текст внутри EditText. Для этого вам нужно удалить предложения.просто добавьте

android:inputType="textNoSuggestions"` 

или

android:inputType="textFilter"

он удалит эти предложения.

для меня это решение работает:

edittext.setInputType(InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);

Comments

    Ничего не найдено.