Android - EditText带有数字参数的Bug

4

我目前在使用 android:digits 参数的 EditText 时遇到了一个奇怪的 bug。 以下是 EditText 的 XML 代码:

<EditText
  android:id="@+id/edittext"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:gravity="center_vertical"
  android:hint="@string/some_text"
  android:imeOptions="actionDone"
  android:singleLine="true"
  android:digits="abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ\\ "
  android:maxLength="140"
  android:textSize="@dimen/font_size_small"/>

从上面可以看出,这个EditText只允许用户键入字母数字字符。

现在,如果我尝试使用这个EditText,那么EditText正确地过滤了我正在键入的字符,但是如果我输入一些字符,然后直接跟一个%,之前输入的字符将会被复制到EditText中!

例如:我在键盘上输入hello%%,EditText中的结果将会是hellohellohello

你们有没有遇到过这样的bug?这是Android平台的问题吗?我应该报告它或者已经有人报告了吗?

供参考,我的设备是安卓4.3的Nexus 4。

谢谢!

1个回答

5
问题出现在Android键盘(AOSP)上。我使用SwiftKey尝试,但无法重现。当我切换到默认键盘时,问题就出现了。
问题出现的原因是Android键盘正在尝试学习/建议您输入的单词。我不确定是否已经报告了这个错误,但您可以通过使用android:inputType="textNoSuggestions"来避免这个问题。

谢谢你的测试。我尝试了标准的Android键盘,我的手机上没有外部键盘。不幸的是,我无法真正禁用EditText的文本建议。 - pdegand59

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接