IntelliJ / Android -> "java: se requiere expresión constante" en el caso R.id.viewId

Cuando intento construir mi proyecto de Android en IntelliJ consigo errores en cada declaración del interruptor que los casos utilizan Id fuera del R.java.

Ejemplo:

switch (item.getItemId()) { case android.R.id.home: NavUtils.navigateUpTo(this, DashboardActivity.upIntent(this)); return true; case R.id.orders_options_add: handleAddItem(); return true; case R.id.orders_options_reorder: handleReorder(); finish(); return true; } 

¿Alguien sabe cómo solucionar este problema?

Los identificadores de recursos no son constantes en un proyecto de biblioteca desde ADT versión 14, por lo que no puede utilizarlos en la instrucción switch. Simplemente utilice if () {} else if () {} ... lugar.

Puede encontrar información más detallada aquí .

  • ¿Cómo puedo configurar una alerta que aparezca en todo momento?
  • IntelliJ / búsqueda estructural: Elimine métodos inútiles que sólo llaman super-método
  • Implementación de Algoritmos de Cifrado Bouncy Castle con Android
  • Almacenamiento de la clave con KeyStore en Android
  • Biblioteca PDF para renderizar los archivos PDF en Android
  • Error al importar com.google.android.gms. *;
  • Android - Creación de una máscara circular en vídeo
  • ClientProtocolException en httpClient.execute (httpget, responseHandler)
  • Cambiar a un fragmento específico da extraño java.lang.NullPointerException
  • Android Studio no muestra javadoc con CTRL + Q pero está disponible en el origen
  • Eclipse se bloquea con límite de gastos generales de GC superado después de enlazar servicios de Google Play
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.