我正在编写一个应用程序,它获取 HTML 页面并解析它们以在屏幕上显示。具体来说,该应用程序从留言板中提取 HTML 并列出用户发布的帖子。
问题是帖子里很多内容都是<img>
中的图片标签,所以我需要写一个 Html.ImageGetter
处理图像的下载。
我的textView.setText()
方法将如下所示:
myTextView.setText(Html.fromHtml(myText, new ImageGetter() {
@Override
public Drawable getDrawable(String source) {
Drawable d;
// Need to async download image here
return d;
}
}, null));
同步执行此操作很简单,但是是否有建议的方法可以异步执行此操作,以便它不会锁定我的 UI 线程?我还想最终构建这些图像的缓存,但我想一旦异步下载出现,这将非常简单。
最佳答案
Doing this synchronously is trivial, but is there a suggested way to do this asynchronously so that it doesn't lock up my UI thread?
这会很困难,也许是不可能的。您必须立即归还一些东西。即使这是一个占位符,您也会面临下载完成后如何替换占位符的挑战。由于您无法访问渲染图像的 ImageView
(如果有 ImageView
),我不知道您将如何安排替换占位符。
关于java - 异步 Html.ImageGetter 用于在 TextView 中设置多个图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4887919/