Android – getIdentifier renvoie toujours 0 (bibliothèque + application)

J'ai un projet Android (com.appocaliptic.quizknife.app) qui utilise la bibliothèque Android (com.appocaliptic.quizknife.core).

Ce que j'essaie de faire, c'est d'obtenir l'identification des ressources de l'image qui est la bibliothèque. Le chemin d'accès à l'image est: res / drawable-xhdpi / fr_200_133.png

  • Android: changement du champ final statique privé à l'aide de la réflexion java
  • Android - communication entre deux appareils
  • Android ExpandableListView - Recherche d'un tutoriel
  • Lors du défilement de ListView personnalisé, la valeur de la case à cocher change
  • Comment créer un fichier xml dans Android
  • Comment faire un SeekBar vertical dans Android?
  • Cependant, toutes les tentatives avec getIdentifier résultat 0. Où est le problème?

    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"); 

    Édité:

    Ach, et dans R.java, il y a un attribut décisible et corenspondant.

  • Org.jetbrains? Qu'Est-ce que c'est?
  • Firebase Auth ne fonctionne pas - msgstr "Mettre à jour Google Play services" sur l'émulateur (Android)
  • Quand utiliser un thread / service dans Android?
  • Comment puis-je partager un fichier SharedPreferences sur deux applications Android différentes?
  • Le clavier logiciel Android cache le bouton
  • Exécuter TriggerIO Android ForgeInspector
  • 4 Solutions collect form web for “Android – getIdentifier renvoie toujours 0 (bibliothèque + application)”

    Vous ne devriez pas utiliser le nom du paquet de la bibliothèque. Essayez ceci à la place:

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

    (Ou getContext().getPackageName() si cela s'exécute dans une vue).

    J'ai eu le même problème: "getIdentifier résultat 0" et je l'ai résolu en supprimant l'extension d'image (* .jpg, * .jpeg, … etc.) pour faire correspondre le nom dans le fichier R.java

    J'avais la même erreur et la seule chose qui fonctionnait était différente d'une manière différente:

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

    J'ai eu un problème similaire. Je pourrais le résoudre de la même manière que mentionne Hussam Otri. Par exemple:

     //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()); 
    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.