Advertencia de Android Studio 1.1 con la sentencia switch case

Tengo una rama que reemplaza día del sistema día de valor entero de la semana al valor legible humano de la cadena.

Cuando uso la sentencia if-else como la siguiente, Android Studio 1.1 no avisa nada.

int intDayOfWeek = calendar.get(Calendar.DAY_OF_WEEK); String curStrDayOfWeek = ""; if (intDayOfWeek == 1) { curStrDayOfWeek = getResources().getString(R.string.sunday); } else if(intDayOfWeek == 2) { curStrDayOfWeek = getResources().getString(R.string.monday); } else if(intDayOfWeek == 3) { curStrDayOfWeek = getResources().getString(R.string.tuesday); } [SNIP] globals = (Globals) this.getApplication(); try { [SNIP] globals.hdsr_data.put("currentDayOfWeek", curStrDayOfWeek); [SNIP] catch (Exception e) { System.out.println("Error:" + e); } [SNIP] 

Pero si intento usar la sentencia switch-case como la siguiente, advierte el valor getResources (). GetString (R.string.sunday) asignado a curStrDayOfWeek nunca se utiliza. Entonces recibí 6 advertencias ya que el valor tiene 7 sucursales.

 int intDayOfWeek = calendar.get(Calendar.DAY_OF_WEEK); switch (intDayOfWeek) { case 1 : curStrDayOfWeek = getResources().getString(R.string.sunday); case 2 : curStrDayOfWeek = getResources().getString(R.string.monday); case 3 : curStrDayOfWeek = getResources().getString(R.string.tuesday); [SNIP] } 

Me gustaría codificar sin previo aviso (excepto error tipográfico). ¿Cómo puedo utilizar la sentencia switch-case sin advertencia?

Pero si intento usar la sentencia switch-case como la siguiente, advierte el valor getResources().getString(R.string.sunday) asignado a curStrDayOfWeek nunca se utiliza.

Y es absolutamente correcto – porque de inmediato se caen a través de la siguiente sucursal. Necesita una declaración de break :

 switch (intDayOfWeek) { case 1: curStrDayOfWeek = getResources().getString(R.string.sunday); break; case 2: curStrDayOfWeek = getResources().getString(R.string.monday); break; case 3: curStrDayOfWeek = getResources().getString(R.string.tuesday); break; ... } 

Personalmente, probablemente sólo construiría una matriz:

 private static final int[] DAY_NAME_RESOURCES = { 0, // not used R.string.sunday, R.string.monday, R.string.tuesday, ... }; 

A continuación, utilice:

 curStrDayOfWeek = getResource().getString(DAY_NAME_RESOURCES[i]); 
  • Android y PhoneGap - Error al llamar al método en NPObject
  • Necesita ayuda para cambiar de actividad
  • Error de Mobile SDK: OPERATION_NOT_ALLOWED
  • IntelliJ Idea dando java.lang.OutOfMemoryError: Error de espacio de montón de Java incluso después de aumentar el tamaño de montón
  • Android Studio preDexDebug después de agregar jar archivo
  • ¿Cómo comprobar la contraseña de un EditView?
  • Proguard Error / Dalvik Error 1 al firmar la aplicación para Android
  • Analizar matriz anidada dinámica en Android Retrofit
  • Conversión de cadena-fecha con nanosegundos
  • ¿Cómo leer datos de Firebase ONCE usando java / android?
  • Obtener el valor String de un Spinner respaldado por CursorAdapter de la consulta SQL en Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.