毕加索关于成功和错误计数的请求不匹配

时间:2015-03-03 09:45:05

标签: android progress-bar android-volley picasso

以下是示例代码。 Picasso被调用的次数超过了它达到Success或OnError()的次数。在这种情况下如何处理ProgressBar?发生这种情况,因为我从ArrayAdapter调用此方法。

如何在毕加索加载中获取并打印OnError的原因。

/**
 * To get the Customized Picasso with preset placeholders, CallBack for progressBar, sqSize on req
 */
public static Picasso getAuthorizedPicasso(final ImageView imgView, final String url, final int sqSize) {

    EventBus.post(ToggleProgressBar.requestStarted());
    final Picasso picasso = CustomPicasso.getInstance();

    picasso.load(url)
            .resize(sqSize, sqSize)
            .error(R.drawable.error)
            .placeholder(R.drawable.placeholder).noFade().into(imgView, new Callback() {
        @Override
        public void onSuccess() {
            EventBus.post(ToggleProgressBar.requestFinished());
        }

        @Override
        public void onError() {
            EventBus.post(ToggleProgressBar.requestFinished());
        }
    });

    return picasso;
}

1 个答案:

答案 0 :(得分:0)

发现了这个问题。经常调用ListView ArrayAdapter。因此,使用match_parent或fill_parent更新ListView可避免多次调用Picasso。这解决了Picasso问题无限运行的ProgressBar。

<ListView
    android:layout_width="match_parent"
    android:layout_height="match_parent"

PS:如果你觉得这很有帮助,请投票。感谢