android - 防止用户在 EditText 框中达到大小限制后插入更多字符

标签 android android-edittext android-alertdialog

<分区>

我想阻止用户向包含 Edit-text 实例的警告对话框中插入超过一定数量的字母。我尝试使用输入过滤器。长度过滤器,但它只显示不超过请求长度的字符串。用户仍然可以写更多的字符,例如,当我尝试删除字符时,在我删除足够多的字符以使单词短于限制之前,什么也不会发生(类似的键盘会记住这些键)。

编辑: 更清楚地说,我已经尝试过使用 InputFilter。这确实强制传递给 EditText 的字符串大小,但正如我所说,我仍然可以继续使用键盘编写未显示在文本框中的字母。当我点击删除时,它首先删除多余的字母,只有在删除了足够多的字母后,我才开始看到文本框中的字母被删除。我要求的场景:将字符串限制设置为 10。在我的键盘上输入 15 个字符。然后按退格键,看到文本框中的最后一个字母被删除。 我希望现在更清楚了。

有人可以帮忙吗?

最佳答案

可能已经晚了,但如果有人有同样的问题。

在布局中:

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

以编程方式:

setFilters(new InputFilter[]{new InputFilter.LengthFilter(20)});
setInputType(InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);

关于android - 防止用户在 EditText 框中达到大小限制后插入更多字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22661776/

相关文章:

android - 任何 View 下方的自定义对话框(按钮、图像按钮等)

android - 如何将自定义按钮添加到 AlertDialog 布局中?

java - 在不同监听器之间切换

android - RecyclerView 上 LinearLayoutManager 的 scrollToPositionWithOffset 不起作用

android - 只播放一个声音安卓

android - 无法在 Android 编辑文本上输入波斯语文本

安卓 : How to set acceptable numbers and characters in EditText?

Android默认点击声音(音频文件)

java - Flash AS3 将我的 var 数据传递到另一个框架

android - 在 EditText 中,单击特定文本子集时弹出对话框