Cómo deshabilitar mediante programación el texto predictivo (sin EditText)

Hay una aplicación de Android que contiene el campo de entrada self-made (sin elementos TextView o EditText ), así que tengo que mostrar / ocultar el teclado, manejar la entrada del usuario y mostrar los símbolos introducidos por mi cuenta.

Necesito deshabilitar el modo de texto predictivo para la vista estándar. Lamentablemente, la clase Android View (android.view.View) no tiene ninguna función setInputType .

Hay una solución probable. Obtenga InputConnection de una vista determinada y cambie sus propiedades. Pero no puedo encontrar cómo conseguir y fijar la instancia de InputConnection actual, desafortunadamente la función onCreateInputConnection no se llama tampoco.

¿Hay algún método para desactivar el modo de texto predictivo para la vista estándar?

2 Solutions collect form web for “Cómo deshabilitar mediante programación el texto predictivo (sin EditText)”

Algo que he utilizado está abajo, específicamente la etiqueta "textNoSuggestions" Creo que funcionaría para usted!

 <EditText android:layout_marginLeft="10px" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginRight="10px" android:id="@+id/setupactivity_ftpsite" android:inputType="textNoSuggestions|textUri"> 

Lo siento aquí es la respuesta de una manera más concisa!

Algo parecido a esto:

1) muestra el teclado:

 InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); imm.showSoftInput(myCustomView, InputMethodManager.SHOW_IMPLICIT); 

2) en myCustomView (amplía la vista), agregue:

  InputConnection onCreateInputConnection (EditorInfo outAttrs) { InputConnection ic = new EditableInputConnection(this); outAttrs.inputType = TYPE_TEXT_FLAG_NO_SUGGESTIONS; outAttrs.initialCapsMode = ic.getCursorCapsMode(outAttrs.inputType); //guess on this return ic; } 

Esta es la esencia general de lo que debe hacerse. Es posible que desee o outAttrs.inputType en lugar de establecer igual para que preserve el estado predeterminado o llame al parent onCreateInputConnection primero y luego simplemente establezca su outAttrs.inputType (no está seguro de si esto funcionará o no). Esto esperanzadamente le conseguirá bastante cerca de su solución.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.