android: как отобразить изображение в текстовом представлении

#android #html #textview

#Android #HTML #textview

Вопрос:

Как я могу отобразить изображение для html в текстовом представлении? Вот ресурс

 <blockquote>小浪观剧团:<p>【郭德纲《今夜有戏-济公传》】@北京德云社 15周年庆@郭德纲 相声专场演出,最新一季《济公传》,天津卫视@今夜有戏 整合全程播出。 http://t.cn/asLuvf 点击进入“德云社15周年系列演出新浪独家视频专题”http://t.cn/aogRf9<br/><a href='http://ww3.sinaimg.cn/large/5e1f33eftw1dm3fva4u3lj.jpg' target='_blank' ><img src='http://ww3.sinaimg.cn/thumbnail/5e1f33eftw1dm3fva4u3lj.jpg'></a></p><blockquote><p><a href='javascript:Action("sinat:qq357068756@163.com","RT:3368361715304896","")'><img src='http://www.shisoft.net/images/retweet.png' /></a></p>
  

Я знаю, что должен использовать Html.fromHtml(источник строки, Html.ImageGetter ImageGetter, Html.Обработчик тегов Обработчик тегов)

Но я не знаю, как получить изображение, кто-нибудь может помочь?

Ответ №1:

Это сработало для меня,

Реализация ImageGetter проста и понятна; вы передаете объект ImageGetter, который будет использоваться для извлечения изображений, которые позже будут использоваться для заполнения заполнителей. Для получения изображений объект ImageGetter должен реализовать метод getDrawable . Метод getDrawable должен возвращать объект, который будет заполнять заполнитель; но если возвращается значение null, вместо него будет использоваться заполнитель общего изображения (см. Реализацию ниже).

Для ImageGetter этого вам необходимо переопределить метод, приведенный ниже:

 public Drawable getDrawable (String  source)
  

Чтобы получить изображения из ресурсов приложения, сначала в текстовый файл вставляется html-тег изображения, подобный этому:

 <img src="my_image">
  

Обратите внимание, что «my_image» — это просто имя объекта рисования, а не путь. Затем используйте этот код для отображения текста с изображениями в 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 = (Drawable) myActivity.this.getResources().getDrawable(path);
     drawFromPath.setBounds(0, 0, drawFromPath.getIntrinsicWidth(), drawFromPath.getIntrinsicHeight());
     return drawFromPath;
    }
}, null));
  

Комментарии:

1. Это ваша текущая текущая активность.

2. Что, если я запущу это в классе, а затем добавлю их на карту, а затем верну?

3. затем в вашем классе у вас должен быть объект контекста активности для ссылки на drawable.

4. Должен ли источник быть таким «<img src=»my_image»> » у него не может быть ничего другого? например, «Это тест <img src=»my_image»>»