Android EditText最大长度[重复]

kr98yfug  于 2022-12-25  发布在  Android
关注(0)|答案(8)|浏览(255)
    • 此问题在此处已有答案**:

What's the best way to limit text length of EditText in Android(22个答案)
四年前关闭了。
我在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>

然而,对我来说的问题是,文本在140个字符后停止出现,但它仍然继续输入,除了文本不出现,但无论如何,它确实出现在"缓冲区"(意思是建议的东西),如果这是你所说的。
顺便说一句,我正在使用TextWatcher来跟踪限制。有没有办法完全限制文本的数量,这样当有140个字符时,按下退格键/删除键以外的其他键时什么也不会发生?

js5cn81o

js5cn81o1#

What's the best way to limit text length of EditText in Android可能重复
使用android:maxLength="140"
那应该行得通。:)

ktca8awb

ktca8awb2#

我也有同样的问题。
以下是一个解决方法

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

Thx至How can I turnoff suggestions in EditText?

f45qwnt8

f45qwnt83#

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

h79rfbju4#

我也遇到过同样的问题。当你加上这个的时候,它就完全好用了:

android:inputType="textFilter"

到你的EditText

nhaq1z21

nhaq1z215#

"你可以试试这个"

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

nbnkbykc6#

如果你使用maxLength = 6,有时你输入的字符会被添加到键盘顶部,称为建议。所以当你删除输入的字母时,它会先删除建议,然后删除EditText中的实际文本。为此,你需要删除建议。只需添加

android:inputType="textNoSuggestions"`

android:inputType="textFilter"

它将删除这些建议。

x0fgdtte

x0fgdtte7#

如果要查看计数器标签,可以使用app:counterEnabledandroid: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>

请勿TextInputLayout上设置app:counterMaxLength,因为它将与android:maxLength冲突,从而导致文本达到大小限制后出现不可见字符的问题。

dkqlctbz

dkqlctbz8#

对我来说,这个解决方案的工作:

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

相关问题