关闭EditText的autosuggest?

nik*_*3ro 114 android android-edittext

有没有办法以编程方式关闭在EditText中键入时弹出的autosuggest列表?

glr*_*glr 114

我有同样的问题,但我仍然想在我的XML文件中设置这个选项,所以我做了一些研究,直到我自己发现它.

将此行添加到EditText中.

android:inputType="textFilter" 
Run Code Online (Sandbox Code Playgroud)

这是一个提示.如果您希望能够使用"回车"键,请使用此行.

android:inputType="textFilter|textMultiLine"
Run Code Online (Sandbox Code Playgroud)


kre*_*ker 112

android:inputType="textNoSuggestions"  
Run Code Online (Sandbox Code Playgroud)

你最好还是读这个

  • @gyller你见过API小于5的设备吗? (81认同)
  • 0.23%的用户使用1.6(API等级4).:) (14认同)
  • 请注意,"textNoSuggestions"仅适用于API 5及更高版本. (5认同)
  • 不适用于Pixel和Nexus 6 (3认同)
  • 它会禁用建议但仍显示建议行(其中包含麦克风选项). (2认同)

Mr_*_*Hmp 58

android:inputType="textVisiblePassword" 
Run Code Online (Sandbox Code Playgroud)

奇迹般有效

  • 我不会走这条路.这是一个黑客,当你告诉它是密码时,你没有提到键盘的其他功能可能会改变.使用"text | textNoSuggestions". (3认同)
  • @ P1X3L5 textNoSuggestions对许多设备不起作用.不幸的是,在Google修复此问题之前,这个黑客行为是必要 (2认同)

Enz*_*kie 39

  1. 编程方式

    edittext.setInputType(InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
    
    Run Code Online (Sandbox Code Playgroud)
  2. XML

    android:inputType="textNoSuggestions|textVisiblePassword"
    
    Run Code Online (Sandbox Code Playgroud)


Car*_*arl 22

我发现摆脱自动完成的最可靠的方法是使用

InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD 
Run Code Online (Sandbox Code Playgroud)

在您的EditText控件上.正如查理在此页面上的不同答案中所述,

android:inputType="textVisiblePassword"
Run Code Online (Sandbox Code Playgroud)

是此标志的XML版本.

您可以将此标志与

InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS
Run Code Online (Sandbox Code Playgroud)

我一直在使用没有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收到时,这是这款手机的默认设置.所以这个问题显然多年来一直存在于至少一些重要的三星手机系列中.

对于像我这样没有三星测试设备的人来说,这可能是重要的信息.

  • 使用今天的固件不适用于三星S3.哎呀. (2认同)

小智 21

您可以使用以下方法解决此问题:

android:importantForAutofill="no" 
Run Code Online (Sandbox Code Playgroud)

Android O 具有支持字段自动填充的功能,只需在您的 xml 中使用它,它将禁用自动填充提示


Raj*_*sit 12

这对我有用

android:importantForAutofill="no" 
android:inputType="none|textNoSuggestions"
Run Code Online (Sandbox Code Playgroud)


Mah*_*ala 8

对于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" />
Run Code Online (Sandbox Code Playgroud)

对于像这样的自动完成文本视图,请使用以下字段禁用自动建议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" />
Run Code Online (Sandbox Code Playgroud)

  • 惊人的!这是唯一对我有用的事情。 (2认同)

Tar*_*riq 7

由于这仍然是一个问题,我将发布这个答案.android:inputType ="textVisiblePassword"可以工作,但这是不可取的,首先是因为它是对输入的错误表示,其次是因为它禁用了手势打字!

相反,我必须使用BOTH标志textNoSuggestions和textFilter.任何一个人都没有工作.

android:inputType="textCapSentences|textFilter|textNoSuggestions"
Run Code Online (Sandbox Code Playgroud)

textCapSentences是出于其他原因.但是这个inputType保持了滑动键入并禁用了建议工具栏.


Ajj*_*jji 5

我在运行4.4.4的三星手机上得到了这个东西。这解决了我的问题

android:inputType="text|textVisiblePassword|textNoSuggestions"
Run Code Online (Sandbox Code Playgroud)