El teclado en pantalla de Android aparece automáticamente

Una de mis aplicaciones tiene una “pantalla de inicio” (básicamente un menú) que tiene un EditText seguido de varios Button s. El problema es que varios de mis usuarios informan que, cuando abren la aplicación, aparecen automáticamente el teclado en pantalla sin que toquen EditText . Por lo que puedo decir, todos estos usuarios están usando el HTC Hero .

¿Es esto un error en 1.5? ¿Hay algo que pueda hacer al respecto?

Puede usar la siguiente línea de código en el método onCreate de la actividad para asegurarse de que el teclado solo aparece cuando un usuario hace clic en EditText.

 this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); 
   

Esto funciona para Android 3.0, 3.1, 3.2, 4.0 – Editor utilizado para comstackr (Eclipse 3.7)

Coloque el ‘windowSoftInputMode = “stateHidden”‘ en el archivo XML de manifiesto de su aplicación para CADA actividad que desee que el teclado del software permanezca oculto. Esto significa que el teclado no aparecerá automáticamente y el usuario tendrá que ‘hacer clic’ en un campo de texto para que aparezca. Busqué durante casi una hora algo que funcionó, así que pensé que podría compartirlo.

Agregue esto en su AndroidManifest.xml :

 android:windowSoftInputMode="stateHidden|adjustResize" 

Funciona perfectamente 🙂

Este código funcionará en todas las versiones de Android:

 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_login); //Automatic popping up keyboard on start Activity getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE); or //avoid automatically appear android keyboard when activity start getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN); } 

Puede usar esto en el método onCreate () de la actividad

 this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); 

o pegue este código en las tags de Actividad en AndroidManifest.xml

 android:windowSoftInputMode="stateVisible" 

En esa versión de Android, cuando una vista está inflada, el enfoque se establecerá en el primer control enfocable por defecto, y si no hay un teclado físico, aparecerá el teclado en pantalla.

Para solucionar esto, establece explícitamente el foco en otro lugar. Si el foco está configurado en cualquier cosa que no sea EditarTexto, el teclado en pantalla no aparecerá.

¿Has probado probar esto ejecutando Android 1.5 en el emulador?

Puede agregar la única línea de código en Android Mainfest.xml debajo de la etiqueta de actividad

    

esto puede ayudarte.

Puedes hacerlo programáticamente como

 InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(editTextField.getWindowToken(), 0); 

o establece android:windowSoftInputMode="stateHidden" en dentro de AndroidManifest.xml

 InputMethodManager imm = (InputMethodManager)GetSystemService(Context.InputMethodService); imm.ShowSoftInput(_enterPin.FindFocus(), 0); 

* Esto es para Android.xamarin y FindFocus () – busca la vista en la jerarquía enraizada en esta vista que actualmente tiene foco, ya que tengo _enterPin.RequestFocus () antes del código anterior, así muestra el teclado para _enterPin EditText *

Esto funcionó para mí:

 this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);