毕加索只加载一张图片

时间:2017-09-20 05:07:42

标签: android picasso

所以我检查过" parsedPhotoStrings"的大小。并且它明显大于1.但是,只有一个图像显示以下代码。我不知道发生了什么事。

for (int i = 0; i < parsedPhotoStrings.size(); i++) {
                    String photoUrl = createPlacePhotosUrl(parsedPhotoStrings.get(i));
                    ImageView imageView = new ImageView(MarkerActivity.this);
                    Picasso.with(MarkerActivity.this).load(photoUrl).resize(width, 0).into(imageView);
                    photoLayout.addView(imageView);
                }

编辑:

正在显示多张照片!我忽视了布局的方向。但是,即使在.netWorkPolicy(NetWorkPolicy_CLEAR_CACHE)和.memoryPolicy(MemoryPolicy.CLEAR_CACHE)之后,缓存仍然没有清除

编辑:

for (int i = 0; i < parsedPhotoStrings.size(); i++) {
                String photoUrl = createPlacePhotosUrl(parsedPhotoStrings.get(i));
                ImageView imageView = new ImageView(MarkerActivity.this);
                photoLayout.addView(imageView);
                Picasso.with(MarkerActivity.this).load(photoUrl)
                        .networkPolicy(NetworkPolicy.NO_CACHE, NetworkPolicy.NO_STORE)
                        .memoryPolicy(MemoryPolicy.NO_CACHE, MemoryPolicy.NO_STORE)
                        .resize(width, 0)
                        .into(imageView);
                imageView.setImageResource(0);
                imageView.setImageDrawable(null);
                Picasso.with(MarkerActivity.this).invalidate(photoUrl);
            }

我已经尝试了很多东西来清除缓存。仍然没有任何工作。任何帮助表示赞赏!

4 个答案:

答案 0 :(得分:1)

只需撤销订单即可。

添加ImageView然后加载图片:

将此更改为

for (int i = 0; i < parsedPhotoStrings.size(); i++) {
    String photoUrl = createPlacePhotosUrl(parsedPhotoStrings.get(i));
    ImageView imageView = new ImageView(MarkerActivity.this);
    Picasso.with(MarkerActivity.this).load(photoUrl).resize(width, 0).into(imageView);
    photoLayout.addView(imageView);
}

这个

for (int i = 0; i < parsedPhotoStrings.size(); i++) {
    String photoUrl = createPlacePhotosUrl(parsedPhotoStrings.get(i));
    ImageView imageView = new ImageView(MarkerActivity.this);
    photoLayout.addView(imageView);                    
    Picasso.with(MarkerActivity.this).load(photoUrl).memoryPolicy(MemoryPolicy.NO_CACHE).networkPolicy(NetworkPolicy.NO_CACHE).resize(width, 0).into(imageView);
}

答案 1 :(得分:0)

尝试使用.memoryPolicy(MemoryPolicy.NO_CACHE)

Picasso.with(MarkerActivity.this).load(photoUrl).resize(width, 0).memoryPolicy(MemoryPolicy.NO_CACHE).into(imageView);

示例代码

for (int i = 0; i < parsedPhotoStrings.size(); i++) {
   String photoUrl = createPlacePhotosUrl(parsedPhotoStrings.get(i));
   ImageView imageView = new ImageView(MarkerActivity.this);
   photoLayout.addView(imageView);
   Picasso.with(MarkerActivity.this).load(photoUrl).resize(width, 0).memoryPolicy(MemoryPolicy.NO_CACHE).into(imageView);

 }

答案 2 :(得分:0)

这是由于缓存。你必须实现这个: -

Picasso.with(YourActivity.this)                                            
.load(childjson.getString("your_string"))
.networkPolicy(NetworkPolicy.NO_CACHE)
.memoryPolicy(MemoryPolicy.NO_CACHE)
.skipMemoryCache()
.into(yourImagePreview);

并确保将build.gradle中picasso的依赖关系更改为: -

compile "com.squareup.picasso:picasso:2.5.2"

这将不支持内存缓存。 快乐的编码!

答案 3 :(得分:0)

首先检查图像是否缓存ht eurl,如果是,请将代码添加到invalidate()url.This将删除以前的缓存。

Picasso.with(this).invalidate(url);

第二次检查网络缓存机制。此代码不会对图像进行缓存

Picasso.networkPolicy(NetworkUtils.isConnected(this) ?
                        NetworkPolicy.NO_CACHE : NetworkPolicy.OFFLINE)

所以你的代码应该像

for (int i = 0; i < parsedPhotoStrings.size(); i++) {
        String photoUrl =createPlacePhotosUrl(parsedPhotoStrings.get(i));
        Picasso.with(this).invalidate(url);

        ImageView imageView = new ImageView(MarkerActivity.this);
        photoLayout.addView(imageView);

        Picasso.with(MarkerActivity.this)
                .load(photoUrl)
                .networkPolicy(NetworkUtils.isConnected(this) ?
                        NetworkPolicy.NO_CACHE : NetworkPolicy.OFFLINE)
                .memoryPolicy(MemoryPolicy.NO_CACHE); 
                .resize(width, 0)
                .into(imageView);
}

另外,要支持这些代码,您需要使用picasso 2.5。+

compile 'com.squareup.picasso:picasso:2.5.2'
相关问题