首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在ImageSpan中延迟加载图像

在ImageSpan中延迟加载图像
EN

Stack Overflow用户
提问于 2013-03-19 14:07:03
回答 1查看 722关注 0票数 2

我想建立自定义ImageSpan,设置在获取数据开始时的默认图片,并在获取完成后加载图片。

代码示例:

代码语言:javascript
复制
public class CustomImageSpan extends ImageSpan {

  private Drawable mDrawable;

   @Override
  public Drawable getDrawable() {
    if (mDrawable == null) {

      mDrawable = defaultDrawable;
      Futures.addCallback(
          FetchImage.submit(
              new FutureCallback<Image>() {
            @Override
            public void onSuccess(Image result) {
              Bitmap bitmap = result.getBitmap();
              mDrawable = new BitmapDrawable(mContext.getResources(), bitmap);

             //!Rerender span with new bitmap.
            }
          }, mExecutor);

     }

    return mDrawable;
  }

如何通知span加载已经完成,是时候获取新的位图而不是默认位图了?

EN

回答 1

Stack Overflow用户

发布于 2013-03-19 14:11:34

在当前任务完成后,您可以尝试使用处理程序继续执行下一个任务

代码语言:javascript
复制
Handler xHandler=new Handler(){
        @Override
        public void handleMessage(Message message){
            switch (message.what){
            case SOME_OPERATION:
                getImage(); //the method you are using
                break;
            }
        }
     }; 

在单独的线程中运行处理程序,如下所示

代码语言:javascript
复制
@Override
        public void run() {
            xHandler.sendMessage(Message.obtain(xHandler, SOME_OPERATION));
        }
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15492559

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档