1

MultiAutoCompleteTextView在我的应用程序中使用。这是 Android API 中的一个很棒的控件。但是我面临一些问题。一,最烦人的是,在我的 Nexus 5 上,它没有显示键盘建议。在 Xperia Z 上,虽然显示键盘建议。找不到原因。任何人都可以帮助/指导我吗?这里是我的MultiAutoCompleteTextView.

<MultiAutoCompleteTextView
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:hint="Post a question, idea or update"
    android:gravity="top"
    android:textColorHint="#9e9e9e"
    android:textColor="#000000"
    android:textSize="15sp"
    android:padding="10dp"
    android:background="@null" />
4

1 回答 1

2

我查看了源代码并在AutoCompleteTextView

    // Always turn on the auto complete input type flag, since it
    // makes no sense to use this widget without it.
    int inputType = getInputType();
    if ((inputType&EditorInfo.TYPE_MASK_CLASS)
            == EditorInfo.TYPE_CLASS_TEXT) {
        inputType |= EditorInfo.TYPE_TEXT_FLAG_AUTO_COMPLETE;
        setRawInputType(inputType);
    }

而在javaDoc页面中InputTypeTYPE_TEXT_FLAG_AUTO_COMPLETE定义为。

TYPE_CLASS_TEXT 的标志:文本编辑器(即应用程序)正在根据自己的语义执行正在输入的文本的自动完成,它将在用户键入时呈现给用户。

这意味着您有自己的完成语义,这意味着键盘禁用其建议是合乎逻辑的。

我认为当您以setInputType()编程方式更改 inputType 时,您可以禁用此行为并获取键盘建议。

你可以试试这个:

mAutoCompletetextView.setInputType(EditText.TYPE_CLASS_TEXT | EditText.TYPE_TEXT_FLAG_AUTO_CORRECT);
于 2014-12-30T08:21:49.977 回答