Answers:
我有同样的问题,但是我仍然想在XML文件中设置此选项,因此我做了一些研究,直到自己发现它为止。
将此行添加到您的EditText。
android:inputType="textFilter"
这是一个提示。如果您希望能够使用“输入”键,请使用此行。
android:inputType="textFilter|textMultiLine"
android:inputType="textPersonName"
为建议的文本,但仍显示建议行(带有麦克风图标)。
android:inputType="textNoSuggestions"
你也最好读这个
android:inputType="textVisiblePassword"
奇迹般有效
.
如果在该单词后面键入两个空格,则可以删除该单词末尾添加的句点char。我将其用于操作栏searchView((SearchView) MenuItemCompat.getActionView(searchItem)) .setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
方式:
editText.inputType = InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS
android:inputType="textNoSuggestions"
如果已经设置了一些标志,则:
inputType = if (disableSuggestions) {
InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS or inputType
} else {
inputType and InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS.inv()
}
android:inputType="textNoSuggestions|textPassword"
我发现摆脱自动完成功能最可靠的方法是使用
InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD
在您的EditText控件上。正如查理(Charlie)在此页面上报告的其他答案中所述,
android:inputType="textVisiblePassword"
是此标志的XML版本。
您可以将此标志与
InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS
我一直在使用不带InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD的InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS,该功能适用于大多数手机,但随后遇到了一部三星手机,但该手机仍在自动完成。
Android以编程方式在模拟器中为EditText禁用自动完成/自动建议
建议使用InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD。
我尝试了此操作(以及InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS),它确实有效。您可以看到为什么即使是一部电话,如果它可能没有提示您不希望自动完成功能,也必须允许将其禁用用于密码字段。没有屏住呼吸,这可能是从此类手机获得我们想要的东西的最佳方法。
在我的某些设备上,此标志对此字体做了些微更改-最明显的是,它可以更清楚地区分零(0)和Oh(O),这显然对于显示密码很重要。但是,至少它能起作用,而且新字体并不吸引人。
即使我发现该建议的帖子过旧,但我测试过的手机还是最近的-Sprint的三星Galaxy Note II(SPH-L900)股票Android 4.1.2。选择的键盘是“三星键盘”,当客户从Sprint收到该手机时,这显然是该手机的默认键盘。因此,至少在一些重要的三星手机系列中,这个问题显然多年来一直持续存在。
对于像我一样没有三星测试设备的人来说,这可能是重要的信息。
对于android 8.0或更高版本,此代码不起作用,对于自动完成的textview该代码也不起作用,因此我建议您使用以下代码禁用8.0或更高版本中的自动建议android vesrion使用edittext android的此属性 : ImportantForAutofill =“ no”
<EditText
android:id="@+id/name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:enabled="false"
android:focusable="false"
android:imeOptions="actionDone"
android:maxLength="80"
android:maxLines="1"
android:textColor="@color/colorBlack"
android:textColorHint="@color/colorBlack"
android:importantForAutofill="no"
android:textSize="@dimen/_12sdp"
app:bFontsEdt="light" />
对于像这样的自动完成文本视图,请使用以下字段禁用自动建议android:importantForAutofill =“ no”:
<AutoCompleteTextView
android:id="@+id/autocompleteEditTextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/_3sdp"
android:layout_marginTop="@dimen/_5sdp"
android:background="@null"
android:imeOptions="actionDone"
android:singleLine="true"
android:text=""
android:textColor="@color/colorBlack"
android:textColorHint="@color/colorGrayDark"
android:importantForAutofill="no"
android:textSize="@dimen/_12sdp" />
我在运行4.4.4的三星手机上得到了这个东西。这解决了我的问题
android:inputType="text|textVisiblePassword|textNoSuggestions"
好的,问题是-在Eclipse中,您不会得到有关名为标志的建议:textNoSuggestion
而且您不能在main.xml(用于设计UI)中进行设置,因为无法识别inputType的属性。因此,您可以使用int const在代码中进行设置:
EditText txtTypeIt = (EditText) this.findViewById(R.id.txtTypeIt);
txtTypeIt.setInputType(524288);
并感谢jasta00帮助我解决了这一问题。
// 100% correct & tested
txtKey = (EditText) view.findViewById(R.id.txtKey);
txtKey.setPrivateImeOptions("nm");
txtKey.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
txtKey.setImportantForAutofill(View.IMPORTANT_FOR_AUTOFILL_NO);
}