¿Cómo comprobar si el cajón de navegación está abierto?

Tengo una actividad con el cajón de navegación. A continuación se muestra mi código.

@Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { if(dLayout.isDrawerOpen(GravityCompat.START)==true) { dLayout.closeDrawers(); } else { doExit(); } } return super.onKeyDown(keyCode, event); } private void doExit() { AlertDialog.Builder alertDialog = new AlertDialog.Builder( FirstSelection.this); alertDialog.setPositiveButton("Yes", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { finish(); } }); 

De acuerdo con este código, cuando el usuario presiona el botón de retroceso, el cajón de navegación se cierra si se abre, de lo contrario el doExit(); Método. Pero en mi caso, la otra condición funciona bien, pero cuando vuelvo a pulsar el botón cuando el cajón está abierto, la aplicación completa se cierra. He seguido este código ¿Cómo detectar si el cajón de navegación está abierto?

Cualquier ayuda sería apreciada.

DrawerLayout tiene método isDrawerOpen(listView) devuelve true o false esto te ayudará supongo

 if (mDrawerLayout.isDrawerOpen(mDrawerList)) { mDrawerLayout.closeDrawer(mDrawerList); } 

Añada encima del código adentro onBackPressed

  • Android - Cómo cambiar fragmentos en el cajón de navegación
  • Cómo deslizar el ActionBar junto con el NavigationDrawer
  • Android - Cambiar el Botón Atrás del Botón de Navegación de ActionBar
  • Buenas prácticas: Cajón de navegación
  • Manejar el botón de retroceso en un solo fragmento
  • Cómo agregar barra de acción personalizada con el cajón de navegación?
  • Android DrawerLayout.setDrawerLockMode () no funciona
  • TabHost muestra contenido una vez (onCreate)
  • Cajón de navegación Animación android
  • Android - Navegación personalizada
  • Cómo seleccionar el primer elemento en un cajón de navegación y abrir un fragmento en el inicio de la aplicación
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.