9

我正在尝试禁用给定的预测文本,如此EditText所述,但我仍然通过预测获得自动完成...

我有一台启用了 XT9 的三星 Galaxy S。

有人可以帮忙吗?

<EditText
    android:id="@+id/search_field"
    android:layout_width="300dp"
    android:layout_height="27dp"
    android:background="@drawable/bg_searchfield"
    android:hint="@string/search_hint"
    android:imeOptions="actionSearch"
    android:inputType="text|textNoSuggestions|textFilter"/>
4

5 回答 5

25

这个SO question的评论表明 xml 属性不适用于某些模型,但 java-method 在这些情况下确实有效。所以试试这个:

edittext.setInputType(InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);

编辑:

正如下面评论中所建议的,这是一个有效的 xml 替代方案:

android:inputType="textNoSuggestions|textVisiblePassword"
于 2012-05-08T08:44:18.290 回答
7
android:inputType="textNoSuggestions|textVisiblePassword"

此解决方案有效,但您必须小心。如果设置了标志textVisiblePassword ,则无法在 HTC 设备上切换键盘语言(可能原因是在 Sense 键盘中)。

所以我不得不从代码中设置 InputType 并编写如下内容:

    public static int getInputTypeForNoSuggestsInput() {
    if (android.os.Build.MANUFACTURER.equalsIgnoreCase("Samsung")) {
        return InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS
                | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD;
    } else {
        return InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS;
    }
于 2015-11-25T12:54:02.277 回答
1

对我来说,使用书法库在提示文本上看到正确字体的唯一解决方案是:

  • EditText在你的xml中 设置你的密码android:inputType="textNoSuggestions|textVisiblePassword"
  • EditText以编程方式 配置您的:passwordET.transformationMethod = PasswordTransformationMethod()

这会:

  1. 在提示上显示正确的字体
  2. 在文本上显示正确的字体
  3. 如果你有一个显示正确的字体TextInputLayout
  4. 不会在您的键盘中显示建议或预测。
于 2018-07-12T10:56:09.143 回答
0

上面给出的大多数解决方案都不适合我。所以我做了一个解决方法。

在 filter 方法中使用以下内容创建一个 InputFilter:

for (char ch:BLOCKED_CHARACTER_SET.toCharArray()){
                if (source != null && source.toString().contains(ch+"")) {
                    return "";
                }
            }

这里 BLOCKED_CHARACTER_SET 是一个字符串,其中包含我们想要阻止的字符。

然后设置edittext

editText.setFilters(new InputFilter[]{filterUsername, new InputFilter.LengthFilter(LENGTH)});
于 2020-05-15T11:24:08.953 回答
0

如果您需要此密码字段并且仍需要字符掩码:

inputType = InputType.TYPE_TEXT_VARIATION_PASSWORD or InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS
transformationMethod = PasswordTransformationMethod()
于 2021-10-05T07:18:04.913 回答