我正在尝试下载网页供用户稍后查看。到目前为止,我已经下载了html和图片。我可以让HTML显示格式很好,但我无法将图像内联。
到目前为止我使用的代码:
这是我获取文章的方法。
MyImageGetter mig = new MyImageGetter(this, urlId);
Spanned span = Html.fromHtml(contents[1], mig, null);
contents[1] = span.toString();
titleView.setText(contents[0]);
content.setText(contents[1]);
contents []是一个包含两个字符串的数组。 contents [0]是一个简单的字符串,contents [1]是一个带有HTML标记的字符串。
MyImageGetter:
public class MyImageGetter implements Html.ImageGetter{
String urlId = null;
Context c = null;
public MyImageGetter(ArticleViewer articleViewer, String urlId2) {
c = articleViewer;
urlId = urlId2;
}
public Drawable getDrawable(String source) {
String[] brokenUrl = source.split("/");
String imgName = brokenUrl[brokenUrl.length-1];
File image = new File("/data/data/com.theHoloDev.Reader/Offline/" + urlId + "/" + imgName);
Log.w("MyApp", image.getAbsolutePath());
Bitmap bm = BitmapFactory.decodeFile(image.getAbsolutePath());
Drawable d = new BitmapDrawable(c.getResources(), bm);
return d;
}
}
当我记录image.getAbsolutePath()
时,它会出现一个存在于ddms中的文件。文本内容完美无缺,但是每个图像中仍然有很少的黑框表示obj。我曾经以为textview仍然能够以这种方式显示图像,但要么我做错了,要么就是另外一种方法。
答案 0 :(得分:0)
您期望的最终结果是什么?看到你正在显示html但是你希望用户看到页面...没有html或者你是否为调试做了这件事令人困惑?我假设用户不会看到html而是看到页面本身。在这种情况下,我会去网页浏览。 http://developer.android.com/reference/android/webkit/WebView.html
我认为文本视图不会像您使用它一样使用。
祝你好运。答案 1 :(得分:0)
我明白了。而不是:
Spanned span = Html.fromHtml(contents[1], mig, null);
contents[1] = span.toString();
content.setText(contents[1]);
我需要:
Spanned span = Html.fromHtml(contents[1], mig, null);
content.setText(span);
我遇到了将span设置为字符串的问题。