如何在EditText长度超过限制后停止输入

时间:2016-01-29 16:17:33

标签: android android-edittext

我知道已经提出了几个问题,但我的查询有点不同。

我们如何限制EditText中输入的最大字符数?我是否这样做

android:maxLength="7"

或者

((EditText)findViewById(R.id.zip)).setFilters(new InputFilter[] {
    new InputFilter.LengthFilter(7)
});

我仍然可以输入文本字段,但它不可见而且没有考虑在内。如果我继续输入,输入在限制后变得不可见,但test-suggestions继续构建更多的字母。

假设我的限制是7并输入10个字母,那么我只会看到前7个字母,但文字建议会显示10个字母的单词。此外,我需要按退格3次才能真正开始删除我显示的7个字母单词中的字母。

所以,我的问题是:在某个字符长度之后有没有办法停止输入?

PS :毋庸置疑,虽然我不想在7个字母后输入输入,但我会允许删除或退格。

4 个答案:

答案 0 :(得分:14)

只需将其添加到EditText即可。它肯定会奏效。

 android:inputType="textFilter"

我尝试了同样的方法,它对我有用。

答案 1 :(得分:5)

试试这个,

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

OR

edittext.setInputType(InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);

OR

android:inputType="textFilter"

答案 2 :(得分:1)

这最终对我有用:

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

答案 3 :(得分:-1)

当@Madhur消化时,在你的EditText xml中添加下一行:

Documentation

android:maxLength="7"