Respuestas:
Tenía la misma pregunta, pero aún quería establecer esta opción en mi archivo XML, así que investigué un poco más hasta que lo descubrí.
Agregue esta línea a su EditText.
android:inputType="textFilter"
Aquí va un consejo. Use esta línea si desea poder usar la tecla "enter".
android:inputType="textFilter|textMultiLine"
android:inputType="textPersonName"
con el texto sugerido pero aún muestra la fila de sugerencias (con el ícono del micrófono).
android:inputType="textNoSuggestions"
También será mejor que leas esto
android:inputType="textVisiblePassword"
Funciona de maravilla
.
punto char agregado al final de la palabra si se escriben dos espacios después de esa palabra. Lo utilicé para la barra de acción searchView ((SearchView) MenuItemCompat.getActionView(searchItem)) .setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
Formas de hacerlo:
editText.inputType = InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS
android:inputType="textNoSuggestions"
Si ya tiene algunas banderas establecidas, entonces:
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"
El enfoque más confiable que he encontrado para deshacerme del autocompletado es usar
InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD
en su control EditText. Como Charlie ha informado en una respuesta diferente en esta página,
android:inputType="textVisiblePassword"
es la versión XML de esta bandera.
Puedes combinar esta bandera con
InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS
Había estado usando InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS sin InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD, que funcionaba para la mayoría de los teléfonos, pero luego encontré un teléfono Samsung para el que todavía me estaba completando automáticamente.
Android deshabilita programáticamente autocompletar / autosuggest para EditText en el emulador
que sugirió usar InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD.
Intenté esto (junto con InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS) y funcionó. Se puede ver por qué incluso un teléfono que no podría tomar la pista que no desee autocompletar sería tener a permitir que sea desactivada para un campo de contraseña. Sin contener la respiración, esta podría ser la mejor manera de obtener lo que queremos de estos teléfonos.
En algunos de mis dispositivos, la fuente cambió ligeramente por esta bandera, más notablemente para distinguir un cero (0) de un Oh (O) más claramente, lo que obviamente sería importante para mostrar una contraseña. Pero al menos funcionó, y la nueva fuente no era poco atractiva.
Aunque la publicación en la que encontré esta sugerencia era antigua, el teléfono que probé era muy reciente: un Samsung Galaxy Note II (SPH-L900) con Android 4.1.2 de Sprint. El teclado seleccionado fue "Samsung Keyboard", y aparentemente este era el predeterminado para este teléfono cuando el cliente lo recibió de Sprint. Por lo tanto, este problema aparentemente ha persistido a lo largo de los años durante al menos parte de la importante línea de teléfonos Samsung.
Para aquellos de ustedes que, como yo, no tienen un dispositivo de prueba Samsung, esta podría ser información importante.
Para la versión de Android 8.0 o superior, este código no funciona y para la vista de texto de autocompletar también este código no funciona, por lo que le sugeriré que use el código siguiente para Desactivar las sugerencias automáticas en 8.0 o superior vesrion de Android use esta propiedad de 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" />
y para la vista de texto de Autocompletar como esta, use este campo para deshabilitar la sugerencia automática 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" />
Como esto sigue siendo un problema, voy a publicar esta respuesta. android: inputType = "textVisiblePassword" funciona pero no es deseable, primero porque es una tergiversación de la entrada y segundo porque deshabilita la escritura gestual.
En cambio, tuve que usar AMBAS banderas textNoSuggestions y textFilter. Cualquiera de los dos no funcionó.
android:inputType="textCapSentences|textFilter|textNoSuggestions"
El textCapSentences fue por otras razones. Pero este inputType mantuvo la escritura deslizante y deshabilitó la barra de herramientas de sugerencias.
Estaba obteniendo esto en teléfonos Samsung con 4.4.4. Esto resolvió mi problema
android:inputType="text|textVisiblePassword|textNoSuggestions"
OK, el problema era: en Eclipse no recibes ninguna sugerencia para el indicador llamado: textNoSuggestion
Y no puede configurarlo en main.xml (donde diseña la interfaz de usuario) porque ese atributo para inputType no se reconoce. Entonces puede configurarlo en código usando int const:
EditText txtTypeIt = (EditText) this.findViewById(R.id.txtTypeIt);
txtTypeIt.setInputType(524288);
Y gracias jasta00 por ayudarme a encontrar la respuesta para esta.
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);
}
Simplemente puede usar el setThreshold()
método EditText . Establezca el umbral en digamos 100 cuando no quiera mostrar predicciones. Si desea volver a activar las predicciones de visualización, vuelva a configurarlo en un int pequeño como 1 o 2, según sus necesidades.