如何处理请求/响应齐射库,当我使用方法POST。 我想在发布完成后设置Toast。
Toast.makeText(getApplicationContext(), "Successful", Toast.LENGTH_SHORT).show();
我怎样才能实现它?
StringRequest request = new StringRequest(Request.Method.POST, uri,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(getApplicationContext(), error.getMessage().toString(), Toast.LENGTH_SHORT).show();
}
})
{//Body
@Override
protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<String, String>();
params.put("participantId", editText2.getText().toString());
params.put("name", editText3.getText().toString());
return params;
}
};
// Create Volley
RequestQueue queue = Volley.newRequestQueue(this);
queue.add(request);
我猜它的服务器响应问题不是代码问题,你永远不会调用onResponse(字符串响应),在失败的情况下它应该被调用onErrorResponse()。
如果你没有得到onErrorResponse()的回调,你可以设置如下的超时。
request .setRetryPolicy(new DefaultRetryPolicy(
MY_SOCKET_TIMEOUT_MS,
DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));