88 votes

comment accéder aux ressources dessinables par leur nom dans Android

Dans mon application, j'ai besoin de récupérer des images bitmap à un endroit où je ne veux pas conserver la référence. R . Je crée donc une classe DrawableManager pour gérer les objets à dessiner.

public class DrawableManager {
    private static Context context = null;

    public static void init(Context c) {
        context = c;
    }

    public static Drawable getDrawable(String name) {
        return R.drawable.?
    }
}

Ensuite, je veux récupérer le dessin par son nom quelque part comme ceci (le fichier car.png est placé dans le répertoire res/drawables) :

Drawable d= DrawableManager.getDrawable("car.png");

Cependant, comme vous pouvez le voir, je ne peux pas accéder aux ressources par le nom :

public static Drawable getDrawable(String name) {
    return R.drawable.?
}

Y a-t-il d'autres solutions ?

1voto

Rahman Rezaee Points 671

Si vous avez besoin de ressources int

 Resources resources = context.getResources();
 int resourceId = resources.getIdentifier("eskb048", "drawable",context.getPackageName());
 // return like: R.drawable.eskb048.png

si vous avez besoin de Drawable vérifier que la première réponse est correcte pour tous

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X