【问题标题】:Picasso load images with horizontal lines毕加索用水平线加载图像
【发布时间】:2016-05-26 04:58:05
【问题描述】:

我使用毕加索在我的图库页面中加载图像,并使用 Recyclerview 从服务器加载图像。它在所有设备上都运行良好,三星 S4 设备除外。在 S4 设备中,图像已损坏,并且在所有图像上显示一些水平线。我的问题是什么代码。另外,我认为在将我的支持库版本从 22.2.1 更新到 23.3.0 之前,它在同一 S4 设备上运行良好。

GalleryAdapter.java

@Override
        public void onBindViewHolder(GalleryViewHolder galleryViewHolder, final int position) {

            // Load images from Assets using Picasso library.
            Picasso picasso = Picasso.with(context);

            //picasso.setLoggingEnabled(true);
            //picasso.setIndicatorsEnabled(true);

            if(AppUtilities.isNetworkConnected(context)){
                picasso.load(imagesArrayList.get(position).getUrl())
                        .placeholder(android.R.color.darker_gray)
                        .fit()
                        .centerCrop()
                        .memoryPolicy(MemoryPolicy.NO_CACHE)
                        .networkPolicy(NetworkPolicy.NO_CACHE)
                        .into(galleryViewHolder.galleryImageView);
            }
            else{
                picasso.load(imagesArrayList.get(position).getUrl())
                        .placeholder(android.R.color.darker_gray)
                        .fit()
                        .centerCrop()
                        .into(galleryViewHolder.galleryImageView);
            }
    }

    public class GalleryViewHolder extends RecyclerView.ViewHolder {

            protected ImageView galleryImageView;

            public GalleryViewHolder(View itemView) {
                super(itemView);
                this.galleryImageView = (ImageView) itemView.findViewById(R.id.gallery_imageview);
            }
        }

【问题讨论】:

  • 我认为您的 if..else... 条件有问题。只需在两种情况下打印日志即可。我认为两者都可能被处决。
  • @PiyushGupta 即使没有 if else 代码,也会出现此问题。即使单独放置 else case 代码也会发生。
  • 尝试使用其他占位符
  • 因为你的代码看起来不错,我建议从库中挖掘issues,如果你什么也没找到,最后自己打开一个。 :)

标签: android picasso android-image image-caching


【解决方案1】:

试试这个,在设置图像之前将其设置为 null,如下所示:

galleryViewHolder.galleryImageView.setImageDrawable(null);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-29
    • 1970-01-01
    • 2014-09-26
    • 2016-12-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多