如何在使用textEmailAddress时禁用EditText自动完成

时间:2016-03-06 01:10:14

标签: android

我有inputType设置为textEmailAddress的编辑文字,我无法阻止键盘显示文字建议。我想使用这个标志,以便@符号显示在第一组键盘字符中,但我不希望出现建议,因为它们占用屏幕上的大量空间并弄乱用户体验。

这是我正在使用的代码:

<EditText
    android:id="@+id/email"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:hint="@string/common_email"
    android:imeOptions="actionDone"
    android:inputType="textEmailAddress"
    />

我尝试将inputType更改为

android:inputType="textNoSuggestions|textEmailAddress"

android:inputType="textVisiblePassword|textEmailAddress"

但它不起作用。似乎在使用时,textEmailAddress会覆盖其他标志所做的任何事情。

有没有办法让键盘显示@符号但不显示建议?

2 个答案:

答案 0 :(得分:2)

无法绝对确保键盘不显示建议。键盘可以完全控制它们显示的内容,包括建议。你发送的任何东西只是暗示它应该做什么,不同的键盘可以解释或忽略这些提示。

textVisiblePassword | textEmailAddress不起作用 - 它们都指定了主要类型。结果将是他们的位的ORing,你会得到一些非常奇怪的东西。 textNoSuggestions是最好的选择。如果这不起作用,那么该键盘要么从不尊重任何建议,要么不对电子邮件字段不予支持。

至于显示@ sign-同样的交易。键盘控制它们显示的键。对于不同的模式,它们可能会稍微改变,但是没有办法强制显示特定的键。

作为旁注 - 我不确定关闭电子邮件的建议是正确的做法。许多键盘会将联系人中的所有电子邮件地址添加到其词典中。许多用户会将自己的电子邮件添加到字典中以填写表单。许多电子邮件地址都是常见词汇的组合。根据电子邮件模式的键盘有多好,能够进行自动更正是一种更好的体验。

答案 1 :(得分:0)

尝试一下,它对我有用。

android:importantForAutofill =“否”