J'ai utilisé Dave Webb réponse, mais simplifié un peu. Tant que l'Id de ressource restera le même en cours d'exécution dans votre cas d'utilisation, il n'y a pas vraiment besoin d'écrire votre propre classe implémentant Html.ImageGetter
et le désordre autour de la source-les chaînes de caractères.
Ce que j'ai fait a l'aide de l'ID de la ressource en tant que source de chaîne:
final String img = String.format("<img src=\"%s\"/>", R.drawable.your_image);
final String html = String.format("Image: %s", img);
et de l'utiliser directement:
Html.fromHtml(html, new Html.ImageGetter() {
@Override
public Drawable getDrawable(final String source) {
Drawable d = null;
try {
d = getResources().getDrawable(Integer.parseInt(source));
d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight());
} catch (Resources.NotFoundException e) {
Log.e("log_tag", "Image not found. Check the ID.", e);
} catch (NumberFormatException e) {
Log.e("log_tag", "Source string not a valid resource ID.", e);
}
return d;
}
}, null);