java - 异步 Html.ImageGetter 用于在 TextView 中设置多个图像

标签 java android html android-image

我正在编写一个应用程序,它获取 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/

相关文章:

html - &lt;header&gt; 元素小于内容隐藏 <nav><ul>...</ul></nav>

html - 在 iframe 页面内容加载时显示加载 gif

java - 使用 JSmooth 包装 .jar 时字符串搜索中断

java - hibernate 搜索中分析器的编译时错误

java - 存储用于按 x,y 坐标定位的对象

android - 具有固定第一行作为标题的 RecyclerView

c# - Xamarin.Forms Android DatePicker/TimePicker 按钮监听器

android - 如何使用自定义行为设置折叠工具栏的背景以适合整个屏幕

html - 如何保护我的 HTML Metro 应用程序的源代码?

java - 在防火墙后面构建 maven Java 项目拦截 SSL 证书