android - EditText 属性 maxLength 不能正常/完全用于字母

标签 android xml user-interface layout android-edittext

这是我在 xml 布局中的 EditText:

<EditText 
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:maxLength="2"
    android:maxLines="1"/>

此 EditText 长度限制(maxLength="2") 仅部分起作用。

看起来用户不能输入超过 2 个字符,因为 more 没有显示,但实际上在键盘上按字符 “A” 5 次后,他需要按 “返回"(在键盘上)4 次以删除第二个字符,这完全没有意义。

有趣的是,它可以正确地(如预期的那样)处理数字。

附言已经检查了几个问题相关的问题,如 thisthis但这些解决方案不起作用

最佳答案

基本上,键盘应用程序上的自动建议 是造成这种情况的根源,因此即使不显示字符也需要“删除”。这不会发生在数字上,因为自动建议不能真正建议基于“23”的东西,不是吗?

无论如何,解决方案是将以下属性/值添加到您的 EditText:

android:inputType="textNoSuggestions"

理论上你可以将它与其他输入类型结合起来,例如:

android:inputType="textCapCharacters|textNoSuggestions"

希望我能帮助遇到这个问题的人。享受编程 ;)

关于android - EditText 属性 maxLength 不能正常/完全用于字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33921560/

相关文章:

python - 如何使字段仅在 ODOO 中保存记录后才可编辑

python - 如何将 POST 数据流式传输到 Python 请求中?

android - 边距不适用于 ScrollView

java - 为什么我用这个程序得到非法的开始类型?我刚刚开始,但不知道哪里出错了

java - 如何设置标题和段落间距?

java - Android 中的自定义资源(不同词汇表)

应用程序中的 Android Web 自动化

安卓蓝牙服务名称

c# - 在 C# 中为 Windows 窗体创建类似向导窗口的 GUI 窗口

java - 如何使用 HdmiControlService