J'ai:
String uri = "@ drawable / myresource.png";
Comment puis-je charger cela dans ImageView? this.setImageDrawable?
J'ai:
String uri = "@ drawable / myresource.png";
Comment puis-je charger cela dans ImageView? this.setImageDrawable?
Si vous avez vraiment besoin de travailler avec une chaîne, essayez quelque chose comme ceci:
private void showImage() {
String uri = "drawable/icon";
// int imageResource = R.drawable.icon;
int imageResource = getResources().getIdentifier(uri, null, getPackageName());
ImageView imageView = (ImageView) findViewById(R.id.myImageView);
Drawable image = getResources().getDrawable(imageResource);
imageView.setImageDrawable(image);
}
Sinon, je vous recommanderais de travailler avec les références R. * comme ceci:
int imageResource = R.drawable.icon;
Drawable image = getResources().getDrawable(imageResource);
vous pouvez également ajouter votre propre variable .. dans mon cas, scene.name entre les réponses que j'ai suivies @pfleidi. c signifie contexte.
String uri = "drawable/"+ scene.name;
int imageResource = c.getResources().getIdentifier(uri, null, c.getPackageName());
imageList.setImageResource(imageResource);
Cela fait longtemps que je suis en retard, mais mon préféré est d'utiliser le contexte:
context.getApplicationContext().getResources().getDrawable(R.drawable.placeholder_image)
où placeholder_image
est l'id de la ressource. Dans votre cas, R.drawable.myresource
.
Le contexte peut être une activité ou une application. Partout où vous vous trouvez, il est fait référence au contexte, que vous pouvez utiliser pour obtenir le contexte de l'application.
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.