我在注册片段中有一堆EditTexts
。
在KitKat及以下版本中,EditText
为电子邮件地址的任何inputType
都将使用系统的自动填充功能,方便用户输入其电子邮件地址。
但是,在Lollipop(Nexus 4上的5.0.1,它的价值),它拒绝使用自动完成功能。这是我设置输入类型的代码:
mEditText.setInputType(InputType.TYPE_CLASS_TEXT
| InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS
| InputType.TYPE_TEXT_FLAG_AUTO_CORRECT));
以下代码只是将每个单词的第一个字母大写,而不是将输入设置为电子邮件地址 ,导致AutoComplete在所有API级别上运行(即使标记I' m设置用于自动更正而不是自动完成):
mEditText.setInputType(InputType.TYPE_CLASS_TEXT
| InputType.TYPE_TEXT_FLAG_CAP_WORDS
| InputType.TYPE_TEXT_FLAG_AUTO_CORRECT);
这是非常令人困惑的,因为查看TYPE_TEXT_FLAG_AUTO_CORRECT的文档,看起来应该实际上禁用自动完成。
TL; DR:你怎么在你想要获得电子邮件地址的Lollipop EditText上启用自动完成功能?