Teclado de navegación oculta el teclado cuando onDrawerOpened

Tengo un fragmento con edittext en él. Cuando hago clic en el edittext, aparece el teclado. El problema es cuando abro el cajón, el cajón no oculta el teclado. El teclado sigue mostrando incluso cambiar a otro fragmento. ¿Cómo puedo ocultar el teclado cuando abro el cajón.

Trato de poner

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

y

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

Ambos no oculta el teclado.

3 Solutions collect form web for “Teclado de navegación oculta el teclado cuando onDrawerOpened”

Utilice por favor esta línea de código antes de cerrar / cerrar el cajón de la diapositiva

 InputMethodManager inputMethodManager = (InputMethodManager) this.getSystemService(Activity.INPUT_METHOD_SERVICE); inputMethodManager.hideSoftInputFromWindow(this.getCurrentFocus().getWindowToken(), 0); 

Prueba esto…

 @Override protected void onCreate(Bundle savedInstanceState) { ...... //Initialize drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); //Setting the actionbarToggle to drawer layout drawerLayout.setDrawerListener(actionBarDrawerToggle); //calling sync state is necessay or else your hamburger icon wont show up actionBarDrawerToggle.syncState(); } 

DrawerListerner :

  ActionBarDrawerToggle actionBarDrawerToggle = new ActionBarDrawerToggle(this, drawerLayout, toolbar, R.string.app_name, R.string.app_name) { @Override public void onDrawerClosed(View drawerView) { // Code here will be triggered once the drawer closes as we dont want anything to happen so we leave this blank super.onDrawerClosed(drawerView); InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); inputMethodManager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0); } @Override public void onDrawerOpened(View drawerView) { // Code here will be triggered once the drawer open as we dont want anything to happen so we leave this blank super.onDrawerOpened(drawerView); InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); inputMethodManager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0); } }; 

Codificación feliz …

El problema es que getWindowToken() debe ser llamado desde la vista que actualmente está "manteniendo" el teclado. Es muy molesto, estoy de acuerdo con usted, pero así es como funciona.

Por ejemplo, digamos EditText mEditText es el objeto actualmente en foco que recibe las pulsaciones del teclado. Entonces su código sería:

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

Espero eso ayude.

  • Cómo resolver tipos inconvertibles no puede lanzar "Android.support.v4.app.fragment" a "nombre de paquete"
  • Cajón de navegación para cambiar las actividades en lugar de fragmentos
  • Cajón de navegación Android Studio 1.4
  • Android - ¿Es posible cajón de navegación desde el lado derecho?
  • Lista plegable Elemento en la navegación Cajón
  • Android, slidingpanelayout vs navigationDrawer
  • Cómo crear un cajón de navegación sin biblioteca de soporte
  • Determinar si el NavigationDrawer está abriendo o cerrando
  • Incluyendo fila en la parte inferior del cajón de navegación
  • Cómo ajustar el ancho del cajón de navegación en el estudio de Android
  • Animación de sugerencias de NavigationDrawer (como Google Currents)
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.