¿Hay alguna manera de cambiar el valor de android: windowSoftInputMode de la clase java?

Quiero actuar mis pestañas para tener diferentes propiedades de windowSoftInputMode para cada ficha. ¿Cómo acceder a esta propiedad desde la clase java cuando todo el manejo de su pestaña se realiza desde una sola actividad?

¿Hay alguna forma de acceder a esta propiedad manifesto desde el código java?

Utilice lo siguiente para cambiar el softInputMode de una actividad.

 getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN); 

Utilice lo siguiente para cambiar el tipo softInput para un EditText.

 mEditText.setImeOptions(EditorInfo.IME_ACTION_DONE); 

Gracias a @Eliezer por corrección

Según el comentario de Prasham , lo hice y me salvó la vida, gracias a él! El modo EditText y SoftWindowInput son bastante buggy cuando tienes un diseño con ScrollView y lo estás llenando dinámicamente.

Ya que había pasado por este post, pero había seguido para leer otras respuestas / comentarios (como el de Prashan), decidí escribirlo en un nuevo post.

Debajo del código que usé con mi ScrollView :

 Activity.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN); 

Mi objetivo es utilizar dos modos diferentes para las pestañas. Los modos son SOFT_INPUT_ADJUST_RESIZE y SOFT_INPUT_ADJUST_NOTHING .

 getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE); 

La línea de código anterior simplemente no funciona por sí misma. La aplicación siempre se comporta en un estado ADJUST_NOTHING . Sin embargo, si windowSoftInputMode="adjustResize" se inserta en la etiqueta <activity> en el archivo AndroidManifest.xml, la ventana de la aplicación se redimensiona como predeterminada. Además, al llamar a la línea siguiente

 getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_NOTHING); 

Se comportará como se espera y nada se redimensiona.

PS mejora a la respuesta

Puede utilizar el código siguiente mediante programación

 android.view.inputmethod.InputMethodManager imm = (android.view.inputmethod.InputMethodManager) context .getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(myEditText.getWindowToken(), 0); 

Gracias Deepak

  • Androide. Cómo cambiar la actividad dentro de una pestaña
  • Lengüetas de diferentes tamaños en Android
  • InputMethodManager contiene referencia al tabhost - Memory Leak - OOM Error
  • ViewPager dentro de Fragmento pierde contenido al volver a él
  • Mostrar una barra de progreso en una ficha secundaria hasta que el WebView se cargue
  • ¿Cómo configurar la altura de la barra de herramientas de Android?
  • Comprender la actividad setContentView
  • Actualizar una actividad dentro de tabhost
  • Buscando un estilo TabHost universal que funcione en Android, HTC Sense, Samsung, etc. skins
  • Cómo crear un diseño con pestañas en Android 4.0?
  • ¿Cuál es la diferencia entre actionbar y tabhost / tabactivity
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.