毕加索并不总是用ListView加载

时间:2014-08-19 14:17:32

标签: android picasso

我正在使用2.3.3,除了我的自定义ListView外,一切似乎都运行正常。大多数时候,毕加索非常精细地加载我的图像,但是有一些情况下图像永远不会加载并且旋转器继续旋转。此外,有时加载微调器将出现在其后面加载的图像中设置了一些不透明度(没有截图,但我会试着抓住它)。

以下是我在ArrayAdapter中加载图像的方法:

Picasso picasso = new Picasso.Builder(getContext()).listener(
new Listener() {
        @Override
         public void onImageLoadFailed(Picasso arg0,
                                Uri arg1, Throwable arg2) {
                   if (Constants.debug) Log.i(LOG_TAG, "imageloadfailed");
                   arg2.printStackTrace();          
         }
        }).debugging(true).build(); 

picasso.load(imgUrl).placeholder(R.id.progress).into(h.picture, new Callback() {
        @Override
        public void onError() {
              if (Constants.debug) Log.i(LOG_TAG, "error");
        }

        @Override
        public void onSuccess() {
              if (Constants.debug) Log.i(LOG_TAG, "success");
        }
});

相关的XML部分:

    <!-- Image -->
    <RelativeLayout
    android:id="@+id/plist_image_container"
    android:layout_gravity="center"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">

        <ProgressBar                
            android:id="@+id/progress"
            android:layout_width="40dp"       
            android:layout_height="40dp"
            android:layout_centerInParent="true"/>

        <ImageView
           android:id="@+id/plist_item_thumb"
           android:adjustViewBounds="true"
           android:scaleType="fitCenter"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:gravity="center"/>           
   </RelativeLayout>

我永远不会进入onImageLoadFailed(....),尽管在良好的网络上等待了相当长的时间,图像仍然无法加载。

以下是我正在尝试加载的图片示例: http://res.cloudinary.com/spotlight-images/image/upload/v1408387652/IMG_1408387652509.jpg

编辑: 我最近从AQuery切换到Picasso,而AQuery没有出现这个问题。

2 个答案:

答案 0 :(得分:0)

查看this link

的回答

按照答案

中的建议使用这些方法
onSuccess() {...}
onError() {...}

检查this link是否有回拨

答案 1 :(得分:0)

Picasso.with(getContext())
    .load(url)
    .into(imageView, new com.squareup.picasso.Callback() {
        @Override
        public void onSuccess() {

        }

        @Override
        public void onError() {

        }
    });

检查此代码可能会对您有所帮助......