ResumeTag不工作(V2.4.0)

时间:2014-11-19 10:16:25

标签: android picasso

我很高兴终于在Picasso中使用了标签和优先级属性,但我似乎无法使其发挥作用。 我有一个活动加载图像,当条件满足时,另一个半透明活动出现在此活动前面并加载另一个图像。

当我为第二次图片加载设置优先级为高时,它仍然会在加载" main"之前下载第一个活动的图像。之一。

所以我在第一个图像加载时放置了一个标记,当我加载另一个图像时暂停它,并在离开第二个活动时恢复。但它永远不会恢复。

在第一项活动中,我获得了此代码:

final static String TAG_PICASSO = "com.sien.ur.urstore_firstactivity_fragment";
if (!TextUtils.isEmpty(resource)) {
  Picasso.with(parent.getContext())
      .load(resource)
      .tag(TAG_PICASSO)
      .resize(wCol, wCol)
      .centerCrop()
      .placeholder(R.drawable.default_loader_wallpapers)
      .error(R.drawable.default_loader_wallpapers)
      .into(holder.imageView);
} else {
  holder.imageView.setImageResource(R.drawable.ur_icons_wp);
}

以下是我的第二项活动的代码:

public class DisplayThemeActivity extends Activity {
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    this.requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.display_theme);

    findViewById(R.id.display_theme_close_btn).setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View view) {
        finish();
      }
    });


    String pckg = "com.sien.theme.beach1";
    if (!TextUtils.isEmpty(pckg)) {

      new DisplayThemeInfosFetcher(this, (RelativeLayout)   findViewById(R.id.display_theme_main_layout)).execute(pckg);
    }else{
      finish();
    }
  }

  private class DisplayThemeInfosFetcher extends AsyncTask<String, Void, Result<Composite>> {

    Context context;
    RelativeLayout view;

    public DisplayThemeInfosFetcher(Context ctx, RelativeLayout layout) {
      this.context = ctx;
      this.view = layout;
    }

    @Override
    protected Result<Composite> doInBackground(String... strings) {
      return CatalogService.getInstance(context).loadByPckg(strings[0]); // Has to be done away from main thread
    }

    @Override
    protected void onPostExecute(Result<Composite> result) {
      if (result.succeeded()) {
        try {
          final Composite.App composite = (Composite.App) result.getValue();
          if (composite != null) {
            Picasso.with(context).pauseTag(FirstActivity.TAG_PICASSO); // pauses corectly
           Picasso.with(context).load(composite.getResource(5)).skipMemoryCache().priority(Picasso.Priority.HIGH).into((ImageView) view.findViewById(R.id.display_theme_img));
            view.findViewById(R.id.display_theme_btn).setOnClickListener(new View.OnClickListener() {
              @Override
              public void onClick(View view) {
                finish();
              }
            });

            view.findViewById(R.id.display_theme_img).setOnClickListener(new View.OnClickListener() {
              @Override
              public void onClick(View view) {
                finish();
              }
            });
          }
        } catch (NullPointerException ignored) {
      }
    }
  }
}

  @Override
  protected void onStop() {
    Picasso.with(this).resumeTag(URWallpapersFragment3D.TAG_PICASSO); // Never resume
    super.onStop();
  }
}

我在这里做错了吗?

0 个答案:

没有答案