Android MultiAutoCompleteTextView不显示键盘建议
我正在我的应用程序中使用Android MultiAutoCompleteTextView不显示键盘建议,android,android-layout,multiautocompletetextview,Android,Android Layout,Multiautocompletetextview,我正在我的应用程序中使用MultiAutoCompleteTextView。这是一个很棒的Android API控件。但我面临着一些问题。其中一个,最烦人的是,在我的Nexus5上,它没有显示键盘提示。在Xperia Z上,显示了键盘建议。找不到原因。有人能帮我/指导我吗?这里是我的MultiAutoCompleteTextView的XML <MultiAutoCompleteTextView android:layout_width="fill_parent" andro
MultiAutoCompleteTextView
。这是一个很棒的Android API控件。但我面临着一些问题。其中一个,最烦人的是,在我的Nexus5上,它没有显示键盘提示。在Xperia Z上,显示了键盘建议。找不到原因。有人能帮我/指导我吗?这里是我的MultiAutoCompleteTextView
的XML
<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" />
我查看了源代码,在
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);
}
在InputType
的javaDoc页面中,TYPE\u TEXT\u FLAG\u AUTO\u COMPLETE
定义为
TYPE_CLASS_TEXT的标志:文本编辑器(意味着应用程序)根据其自身的语义自动完成输入的文本,并在用户键入文本时将其呈现给用户
这意味着您有自己的完成语义,这意味着键盘禁用其建议是合乎逻辑的
我认为,当您以编程方式使用setInputType()
方法更改inputType时,您可以禁用此行为并获得键盘建议
您可以尝试以下方法:
mAutoCompletetextView.setInputType(EditText.TYPE_CLASS_TEXT | EditText.TYPE_TEXT_FLAG_AUTO_CORRECT);
我的三星S4显示键盘建议。如果我关闭预测文本(设置/Mydevice/Language和输入/预测文本),则不会显示键盘建议。尝试在我的一些视图中使用
EditText
,它们通常会显示建议。所以我认为,这与设备设置无关。