毕加索在回调上的错误

时间:2014-09-25 23:43:40

标签: android picasso

我注意到偶尔会有图像通过毕加索加载到我的应用中,毕加索实际上是错误的。我在列表视图中为每个列表项使用两个图像。这是毕加索代码:

Picasso.with(DashboardActivity.this).load(status).into(iv_customer_status_pic, new Callback() {
              @Override public void onSuccess() {
                  Log.d("Debug", "Picasso Success");
              }

              @Override public void onError() {
                  Log.d("Debug", "Picasso Errored");
              }
            });

如何确保图片已加载,我不希望它们出错,然后让它们消失。还有为什么会出错呢?有超时吗?我注意到在更强大的设备上它发生的更少。

2 个答案:

答案 0 :(得分:0)

onError()的{​​{1}}回调存在的原因是因为没有100%保证加载成功。例如,如果您尝试从uri加载并且没有互联网连接,则加载将不会成功。 你可以以某种方式尝试重新尝试(我认为已经内置到Picasso中),但最终,你需要处理负载失败的情况(无论出于何种原因)。一种选择是加载"默认"图像,像通用的"个人资料图片"如果您尝试加载特定的用户个人资料图片。

如果将回调的实现移动到单独的类,甚至是包含的类,您应该能够从Picasso.with().load().into(target, callback)回调重试。这就是我的想法:

onError()

答案 1 :(得分:0)

失败的原因可能是因为没有互联网连接和无效的图片网址。 关于错误处理,请参阅nPn的答案。