Html.ImageGetter

To get images from the application resources first in the text file one inserts an html image tag like this:

<img src="https://stackoverflow.com/questions/1792604/my_image">

Note that “https://stackoverflow.com/questions/1792604/my_image” is just a name of a drawable not a path. Then use this code to diplay the text with images in TextView

myTextView.setText(Html.fromHtml(myText, new ImageGetter() {
   @Override public Drawable getDrawable(String source) {
      Drawable drawFromPath;
      int path =
            myActivity.this.getResources().getIdentifier(source, "drawable",
               "com.package...");
      drawFromPath = myActivity.this.getResources().getDrawable(path);
      drawFromPath.setBounds(0, 0, drawFromPath.getIntrinsicWidth(),
         drawFromPath.getIntrinsicHeight());
      return drawFromPath;
   }
}, null));

If the source in the img tag is misspelled the applicaiton will crash because the method will fail to find the drawable, so more code can be added to prevent this…

Leave a Comment