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

  • Couleur de l'onglet sélectionné dans la vue de navigation inférieure
  • Widget Android: comment changer le texte d'un bouton
  • Mémoire insuffisante sur une allocation d'octets (Bitmap en tant que chaîne vers un service Web utilisant du savon)
  • NullPointerException sur ViewPager avec Recyclerview
  • Android, comment créer l'option Menu
  • Comment se déplacer vers une certaine vue en utilisant ViewFlipper?
  • 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.

  • Comment créer votre propre application mobile Magento pour Android et iPhone
  • Puis-je chaîner séquentiellement la tâche asynchrone (en commençant une après la fin de l'asynctask précédent)
  • Comment décocher les éléments dans AlertDialog (setMultiChoiceItems)?
  • Est-ce que la base de données Firebase prend rapidement en charge les points de sécurité sécurisés?
  • Mise en route du SDK Android WeChat
  • Comment supprimer Crosswalk d'un projet Cordova?
  • 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.