我希望将文本设置为跨越,以便获得文本的html视图。 但是,我不想得到图像。那可能吗?
这是我的代码:
Spanned description2=Html.fromHtml(des.get(position),null,null);
TextView text = (TextView) dialog.findViewById(R.id.descr);
text.setText(description2);
但是它给了我一些我不想要的照片的绿色框!请帮助
与图像:
String description2 = des.get(position).toString();
Spanned description = Html.fromHtml(description2, new ImageGetter() {
@Override
public Drawable getDrawable(String source) {
Drawable d = null;
try {
InputStream src = imageFetch(source);
d = Drawable.createFromStream(src, "src");
if(d != null){
d.setBounds(0,0,d.getIntrinsicWidth(),
d.getIntrinsicHeight());
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return d;
}
public InputStream imageFetch(String source)
throws MalformedURLException,IOException {
URL url = new URL(source);
Object o = url.getContent();
InputStream content = (InputStream)o;
// add delay here (see comment at the end)
return content;
}
},null);
答案 0 :(得分:1)
您必须覆盖ImageGetter
的{{1}}实现,因为默认实现会返回那些丑陋的绿色方块:
getDrawable
然后将当前代码切换为:
private class ImageGetter implements Html.ImageGetter
{
@Override
public Drawable getDrawable(String source)
{
return new BitmapDrawable();
}
};
现在,关于您在评论中提到的内容,您必须从UIthread卸载实际下载,尝试使用this post(看看我的答案,这是使用带处理程序的线程的方法)如果仍不清楚,请再问一次。