Je reçois le lien d'image de l'API comme: « http://host/skin/images/answer_picture/image_1.png »Utiliser l'image drawable stockées dans l'application avec Gilde
Mais je veux utiliser les images directement depuis l'application, parce que beaucoup utilisateurs ont des problèmes pour charger les images .
J'ai donc ajouté les images à l'application et j'ai changé l'API pour obtenir seulement le nom de l'image "image_1.png".
L'ancien code était:
View txtOption;
if (AppConstant.arQuestionList.get(questionid).getArAnswer().get(i).getAtype()
.equalsIgnoreCase("image")) {
txtOption = new ImageView(this);
try {
Glide.with(QuestionActivity.this).load(AppConstant.arQuestionList.get(questionid)
.getArAnswer().get(i).getAnswer()).override(60, 60).into((ImageView)
txtOption);
}catch (OutOfMemoryError e){
e.printStackTrace();
}
txtOption.setPadding(5, 5, 5, 5);
} else {
txtOption = new TextView(this);
((TextView) txtOption).setText(AppConstant.arQuestionList.get(questionid)
.getArAnswer().get
(i).getAnswer());
((TextView) txtOption).setTextColor(getResources().getColor(R.color.answer_color));
((TextView) txtOption).setTypeface(tf, Typeface.BOLD);
((TextView) txtOption).setGravity(Gravity.CENTER);
txtOption.setPadding(10, 20, 10, 20);
}
Nouveau code (ne fonctionne pas):
// get the img name example: Skill_test.png
String imgName = AppConstant.arQuestionList.get(questionid)
.getArAnswer().get(i).getAnswer();
// delete image name extension
if (imgName.endsWith(".png")) {
imgName = imgName.substring(0, imgName.length() - 5);
}
String uri = "drawable/"+imgName;
int idDrawable = getResources().getIdentifier(uri,"drawable", getPackageName());
Drawable drawable = ContextCompat.getDrawable(QuestionActivity.this, idDrawable);
Glide.with(QuestionActivity.this)
.load("")
.placeholder(drawable)
.into((ImageView)txtOption);
Désolé si la question est bête. getDrawable ne peut pas utiliser le contexte et imgName car ne peut pas lire une chaîne. Aussi .into (txtOption) dit "ne peut pas résoudre la méthode" en (androi.view.View) Je pense que je fais tout faux –
Bien sûr, vous ne pouvez pas ajouter une image dans un TextView mais vous pouvez dans un ImageView.J'ai édité ma réponse – BenjaminBihr
J'ai essayé avec le nouveau mais toujours pas workig, vérifiez ce que je fais dans la question principale. –