Antworten:
Ich hatte die gleiche Frage, wollte diese Option aber dennoch in meiner XML-Datei festlegen, sodass ich etwas mehr Nachforschungen anstellte, bis ich es selbst herausfand.
Fügen Sie diese Zeile in Ihren EditText ein.
android:inputType="textFilter"
Hier ist ein Tipp. Verwenden Sie diese Zeile, wenn Sie die Eingabetaste verwenden möchten.
android:inputType="textFilter|textMultiLine"
android:inputType="textPersonName"
den vorgeschlagenen Text ersetzt, aber es wird weiterhin die Vorschlagszeile angezeigt (mit dem Mikrofonsymbol).
android:inputType="textNoSuggestions"
auch würden Sie besser lesen diese
android:inputType="textVisiblePassword"
klappt wunderbar
.
am Ende des Wortes hinzugefügte Punktzeichen zu entfernen, wenn zwei Leerzeichen nach diesem Wort eingegeben werden. Ich habe es für die Aktionsleiste searchView ((SearchView) MenuItemCompat.getActionView(searchItem)) .setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
Möglichkeiten, es zu tun:
editText.inputType = InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS
android:inputType="textNoSuggestions"
Wenn Sie bereits einige Flags gesetzt haben, dann:
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"
Der zuverlässigste Ansatz, den ich gefunden habe, um die automatische Vervollständigung loszuwerden, ist die Verwendung
InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD
auf Ihrem EditText-Steuerelement. Wie Charlie in einer anderen Antwort auf dieser Seite berichtet hat,
android:inputType="textVisiblePassword"
ist die XML-Version dieses Flags.
Sie können diese Flagge mit kombinieren
InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS
Ich hatte InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS ohne InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD verwendet, was für die meisten Telefone funktionierte, aber dann stieß ich auf ein Samsung-Telefon, für das ich immer noch eine automatische Vervollständigung erhielt.
was die Verwendung von InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD vorschlug.
Ich habe dies versucht (zusammen mit InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS) und es hat funktioniert. Sie können , warum auch ein Telefon sehen , die nicht den Hinweis nehmen könnten , dass Sie nicht möchten , dass die automatische Vervollständigung würde haben , um es für ein Passwort - Feld deaktiviert sein zu können. Wenn wir nicht den Atem anhalten, ist dies möglicherweise der beste Weg, um das zu erreichen, was wir von solchen Telefonen erwarten.
Auf einigen meiner Geräte wurde die Schriftart durch dieses Flag geringfügig geändert - am deutlichsten, um eine Null (0) von einem Oh (O) deutlicher zu unterscheiden, was offensichtlich für die Anzeige eines Passworts wichtig wäre. Aber zumindest hat es funktioniert und die neue Schriftart war nicht unattraktiv.
Obwohl der Beitrag, auf dem ich diesen Vorschlag gefunden habe, alt war, war das Telefon, auf dem ich getestet habe, sehr neu - ein Samsung Galaxy Note II (SPH-L900) mit Android 4.1.2 von Sprint. Die ausgewählte Tastatur war "Samsung-Tastatur", und anscheinend war dies die Standardeinstellung für dieses Telefon, als der Kunde sie von Sprint erhielt. Dieses Problem hat sich also offenbar über die Jahre hinweg zumindest für einige der wichtigen Samsung-Handys fortgesetzt.
Für diejenigen unter Ihnen, die wie ich kein Samsung-Testgerät haben, könnte dies eine wichtige Information sein.
Für die Android-Version 8.0 oder höher funktioniert dieser Code nicht und für die automatische Vervollständigung der Textansicht funktioniert auch dieser Code nicht. Daher empfehle ich Ihnen, den folgenden Code für die Deaktivierung der automatischen Vorschläge in Version 8.0 oder höher zu verwenden. Android vesrion Verwenden Sie diese Eigenschaft von edittext android: wichtigForAutofill = "nein"
<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" />
und für die AutoComplete-Textansicht wie diese verwenden Sie dieses Feld, um den automatischen Vorschlag zu deaktivieren 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" />
Sie können dieses Problem folgendermaßen lösen:
android:importantForAutofill="no"
Android O bietet die Funktion zum automatischen Ausfüllen von Feldern. Verwenden Sie diese Funktion nur in Ihrer XML-Datei. Dadurch werden Hinweise zum automatischen Ausfüllen deaktiviert
Da dies immer noch ein Problem ist, werde ich diese Antwort veröffentlichen. android: inputType = "textVisiblePassword" funktioniert, ist jedoch unerwünscht, zum einen, weil die Eingabe falsch dargestellt wird, und zum anderen, weil dadurch die Gesteneingabe deaktiviert wird!
Stattdessen musste ich BEIDE Flags textNoSuggestions und textFilter verwenden. Entweder hat einer alleine nicht funktioniert.
android:inputType="textCapSentences|textFilter|textNoSuggestions"
Die textCapSentences waren aus anderen Gründen. Dieser inputType behielt jedoch die Swipe-Eingabe bei und deaktivierte die Vorschlagsymbolleiste.
Ich habe dieses Ding auf Samsung-Handys mit 4.4.4 bekommen. Dies löste mein Problem
android:inputType="text|textVisiblePassword|textNoSuggestions"
OK, das Problem war - in Eclipse erhalten Sie keinen Vorschlag für ein Flag mit dem Namen: textNoSuggestion
Und Sie können es nicht in main.xml (wo Sie die Benutzeroberfläche entwerfen) festlegen, da dieses Attribut für inputType nicht erkannt wird. Sie können es also mit int const im Code festlegen:
EditText txtTypeIt = (EditText) this.findViewById(R.id.txtTypeIt);
txtTypeIt.setInputType(524288);
Und danke jasta00, dass du mir geholfen hast, eine Antwort auf diese Frage zu finden.
android:inputType="text|textNoSuggestions"
// 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);
}
Sie können einfach die EditText- setThreshold()
Methode verwenden. Stellen Sie den Schwellenwert auf 100 ein, wenn Sie keine Vorhersagen anzeigen möchten. Wenn Sie die Anzeige von Vorhersagen wieder aktivieren möchten, setzen Sie sie je nach Bedarf auf einen kleinen Wert wie 1 oder 2 zurück.