我在一个Android应用程序上工作,我对使用volley
库执行网络http调用非常感兴趣。
但是我的问题是,我发现该库在不同的后台线程中执行操作,然后如何在http请求开始执行时显示ProgressDialog
,然后在执行后将其关闭。
RequestQueue rq = Volley.newRequestQueue(this);
StringRequest postReq = new StringRequest(Request.Method.POST, "http://httpbin.org/post", new Response.Listener<String>() {
@Override
public void onResponse(String response) {
tv.setText(response); // We set the response data in the TextView
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
System.out.println("Error ["+error+"]");
}
});
提前致谢。
最佳答案
非常简单。将请求对象添加到队列后,启动进度对话框。
//add the request to the queue
rq.add(request);
//initialize the progress dialog and show it
progressDialog = new ProgressDialog(getActivity());
progressDialog.setMessage("Fetching The File....");
progressDialog.show();
从服务器收到响应后,请关闭该对话框。
StringRequest postReq = new StringRequest(Request.Method.POST, "http://httpbin.org/post", new Response.Listener<String>() {
@Override
public void onResponse(String response) {
tv.setText(response); // We set the response data in the TextView
progressDialog.dismiss();
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.e(“Volly Error”,”Error: ”+error.getLocalizedMessage());
progressDialog.dismiss();
}
});
关于java - 使用 Volley 进行网络操作时如何显示ProgressDialog,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23962339/