Esperando que el Cajón de Navegación se cierre antes de inicializar Fragmentos con el lazo vacío while

De acuerdo con la documentación de DrawerLayout , "Evite realizar operaciones costosas como el diseño durante la animación ya que puede causar tartamudez".

Por lo tanto, he intentado esperar a que el cajón se cierre antes de proceder:

@Override public void onItemClick(AdapterView parent , View view , int position , long id) { // Close the drawer mDrawerLayout.closeDrawer(mDrawerList); ExecutorService es = Executors.newSingleThreadExecutor(); final int mPosition = position; Thread navThread = new Thread(new Runnable() { @Override public void run() { // Wait for the drawer to close while (mDrawerLayout.isDrawerOpen(mDrawerList)); // Initialize the Fragments. runOnUiThread(new Runnable() { @Override public void run() { selectNavigationItem(mPosition); } }); } }); es.submit(navThread); es.shutdown(); } 

A pesar de que funciona, Lint me advierte sobre el bucle vacío. ¿Cómo puedo lograr este efecto sin el lazo while vacío?

En el ListView.OnItemClickListener :

 @Override public void onItemClick(AdapterView parent , View view , int position , long id) { mPosition = position; mNavigationItemClicked = true; mDrawerLayout.closeDrawer(mDrawerList); } 

En el DrawerLayout :

 public void onDrawerClosed(View view) { getSupportActionBar().setTitle(mTitle); if (mNavigationItemClicked) selectNavigationItem(); mNavigationItemClicked = false; } 

En selectNavigationItem() :

 switch (mPosition) { ... } 
  • Java.lang.NullPointerException: Intenta invocar el método virtual 'ActionBar.setNavigationMode (int)' en una referencia de objeto nulo
  • ¿Cómo agregar un título en el diseño del cajón de navegación?
  • ActionBarCompat + NavigationDrawerFragment no funciona en android 4.0 y 4.1
  • Alternar el cajón de navegación a través del título de la barra de acciones
  • Cambiar elementos de NavigationView cuando el usuario está registrado
  • Notificación de la divisa en la barra de herramientas en la barra de herramientas - Android
  • Efecto de desplazamiento del menú del cajón de navegación
  • Ver Gone cuando se hace clic fuera de esa vista
  • Cómo deshabilitar la disposición de cajones de un lado?
  • InflateException en la llamada al método inflater.inflate ()
  • FragmentManager.beginTransaction () no se puede aplicar a (int, android.app.fragment)
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.