Android Lollipop EditText:自动完成功能不适用于电子邮件地址

时间:2015-03-09 22:24:10

标签: android autocomplete android-edittext android-5.0-lollipop

我在注册片段中有一堆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上启用自动完成功能?

1 个答案:

答案 0 :(得分:2)

Nick Butcher对此有一个很棒的post