在滑行中使用addHeader时,始终会显示相同的图像

时间:2016-05-15 10:05:16

标签: android android-fragments android-glide

滑翔版:3.7.0 集成库:没有 设备/ Android版:在Nexus 4上失败

您好,我正在尝试从Dropbox文件夹中加载一些图片。这需要验证,所以我使用Dropbox rest ws的下一个代码:

GlideUrl glideUrl = new GlideUrl("https://content.dropboxapi.com/2/files/download", new LazyHeaders.Builder().addHeader("Authorization", auth).addHeader("Dropbox-API-Arg", "{\"path\": \"" + url + "\"}").build());

我有一个FragmentPagerAdapter,每个页面都有一个图像,即片段。问题是,当我使用上面的代码时,我在每个页面中始终使用相同的图像,但每个页面都应该有自己的图像。此外,我尝试使用Picasso并且工作正常(但速度要慢得多)。但是如果我使用下面的代码来获取我的公共Dropbox文件夹的图像而不使用授权标题,一切正常,我的意思是每个页面都有自己的图像:

glideUrl = new GlideUrl(publicUrl);

使用Authorization的代码也在带有GridLayoutManager的recyclerView中使用,它运行得很好,所以我真的不知道是什么问题。请问你能帮帮我吗?

祝你好运

2 个答案:

答案 0 :(得分:0)

我得到了Glide回购的解决方案: https://github.com/bumptech/glide/issues/1206

答案 1 :(得分:0)

我也面临同样的问题,这可能对你有帮助 滑翔4.0.0-RC1

    Calendar rightNow = Calendar.getInstance();
    long offset = rightNow.get(Calendar.ZONE_OFFSET) +
                rightNow.get(Calendar.DST_OFFSET);

    long sinceMidnight = (rightNow.getTimeInMillis() + offset) %
                (24 * 60 * 60 * 1000);

    Key signature = new MediaStoreSignature(response.body().getResponse()
   [0].getPhoto_Ext(), sinceMidnight, 0);


    Glide.with(this)
             .load(response.body().getResponse()[0].getPhotoExt())
             .clone().apply(signatureOf(signature))
             .into(profile_pic);

这可能有助于某些人遇到同样的问题。