18

我正在使用一个EditText框让用户输入他们的电子邮件地址。

我使用以下方法进行设置:

box.setInputType( InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS );

这会导致软键盘弹出“@”和“.”。(和一些键盘“.com”)在初始键盘布局上的键。太好了,正是我想要的。

但是,我注意到文本全是黑色(当我指定白色时)。我发现这是由于自动建议。如果我进入Settings->Languages/Keyboards->Touch Input->TextInput并禁用预测和单词完成,则文本显示为白色。

现在的问题是:如何为此以编程方式禁用自动完成功能?

我尝试通过以下方式设置盒子:

box.setInputType( InputType.TYPE_CLASS_TEXT | TYPE_TEXT_FLAG_NO_SUGGESTIONS );

这将导致所有白色文本(即没有自动建议)。但后来我不再有电子邮件“@”和“.com”按钮!呸骗子。

无论如何要两者兼得?谢谢。

4

1 回答 1

37

这段代码应该可以解决问题:

box.setInputType( InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS | InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS );

您可以根据需要添加任意数量的标志,只要它们相互兼容。

于 2012-06-22T20:57:42.170 回答