Android – getIdentifier devuelve siempre 0 (biblioteca + aplicación)

Tengo el proyecto de Android (com.appocaliptic.quizknife.app) que utiliza la biblioteca de Android (com.appocaliptic.quizknife.core).

Lo que estoy tratando de hacer, es obtener id de recurso de la imagen que es la biblioteca. El camino a la imagen es: res / drawable-xhdpi / fr_200_133.png

Sin embargo, todos los intentos con getIdentifier resultado 0. ¿Dónde está el problema?

resId = getResources().getIdentifier("fr_200_133", "drawable", "com.appocaliptic.quizknife.core"); resId = getResources().getIdentifier("com.appocaliptic.quizknife.core:drawable/"+"fr_200_133", null, null); resId = getResources().getIdentifier("drawable/fr_200_133", null, "com.appocaliptic.quizknife.core"); 

Editado:

Ach, y en R.java hay atributo dibujable y correlativo.

No debería usar el nombre del paquete de la biblioteca. Prueba esto en su lugar:

 resId = getResources().getIdentifier("fr_200_133", "drawable", getPackageName()); 

(O getContext().getPackageName() si esto se está ejecutando en una vista).

Me enfrenté al mismo problema: "getIdentifier result 0" y lo resolví eliminando la extensión de la imagen (* .jpg, * .jpeg, … etc) para que coincida con el nombre como en el archivo R.java

Yo estaba recibiendo el mismo error y lo único que funcionó fue hacerlo de una manera diferente:

 resourceId = R.drawable.class.getField("fr_200_133").getInt(null); 

Tuve un problema similar. Podría resolverlo de manera similar a lo que menciona Hussam Otri. Por ejemplo:

 //This doesn't work context.getResources().getIdentifier("audio_1.mp3", "raw", this.getPackageName()); //This works (strip off the file extension) context.getResources().getIdentifier("audio_1", "raw", this.getPackageName()); 
  • Android Soundpool Load (String path, int priority)
  • Android: buenas prácticas para organizar dirs y archivos en almacenamiento Tarjeta SD?
  • ¿Cómo importar recursos de un proyecto de biblioteca?
  • ¿Cómo obtener eficientemente una matriz corta de recursos en Android?
  • Crashing debido a "No identificador de paquete al obtener el valor del número de recurso ..."
  • Android - colors.xml recurso a valor int
  • Android - es getResource () caro?
  • Calabash Android: Error de ruta de acceso al intentar ejecutar una prueba en un APK
  • Android: getString () de los recursos pierde las etiquetas de la cadena
  • Tamaños de imagen de Android
  • Haciendo clic en un botón para cambiar el idioma
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.