该页面说,我们可以向侦听请求注册侦听器以处理错误:
https://developer.android.com/training/volley/simple
但这并未提及触发该侦听器的错误类型. Volley javadoc也什么也没说.
具体来说,如果发生网络错误,将执行此侦听器.
我问这个问题是因为我遇到了以下形式的androID代码:
private voID method() { String URL = ""; final int[] status_code = new int[1]; StringRequest request = new StringRequest(Request.Method.POST, URL, new Response.Listener<String>() { @OverrIDe public voID onResponse(String response) { if (status_code[0] == 200) { // do something } else { // display toast } } }, new Response.ErrorListener() { @OverrIDe public voID one rrorResponse(VolleyError error) { // display toast } }) { @OverrIDe protected Response<String> parseNetworkResponse(NetworkResponse response) { status_code[0] = response.statusCode; return super.parseNetworkResponse(response); } }; // add request to queue}
此代码似乎表明未针对网络错误调用已注册的ErrorListener.
在什么条件下导致调用到Volley请求的ErrorListener被调用
解决方法:
我并不完全了解您的整个代码,而是仔细阅读Volley源代码:
> Response.java带入VolleyError对象
> VolleyError在其使用中引用了NetworkResponses.
>检查NetworkResponses主要处理http状态代码.
>另外,我还要指出VolleyError扩展了Exception.
因此,我想说,当引发异常并且VolleyError处理http状态代码时,将触发回调方法.
总结以上是内存溢出为你收集整理的java-是什么原因导致触发了向齐射请求注册的ErrorListener?全部内容,希望文章能够帮你解决java-是什么原因导致触发了向齐射请求注册的ErrorListener?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)