1
我正在使用tablayout包含兩個選項卡。每個呼叫抽籤請求。我想在第一個請求開始時顯示進度對話框,並在完成最後一個請求後關閉對話框。如何處理單個progressdialog並行多個Volley請求
我正在使用tablayout包含兩個選項卡。每個呼叫抽籤請求。我想在第一個請求開始時顯示進度對話框,並在完成最後一個請求後關閉對話框。如何處理單個progressdialog並行多個Volley請求
使用AsyncTask,它具有PreExecute在後臺作業之前啓動任務,在後臺作業之後執行PostExecute來完成一些任務。
在我的例子中,我在preexecute中做了一個進度對話框並開始。在完成了整個場地排球的請求後,它將在後期執行中解散。
private class initoffline extends AsyncTask<String, String, String> {
private String resp;
private ProgressDialog pDialog;
@Override
protected void onPreExecute() {
pDialog = new ProgressDialog(SplashActivity.this);
pDialog.setMessage("First Initializing...");
pDialog.setIndeterminate(false);
pDialog.setCancelable(false);
pDialog.show();
}
@Override
protected String doInBackground(String... params) {
StringRequest stringRequest = new StringRequest(URL1,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
SharedPreferences pref = getApplicationContext().getSharedPreferences("MirSP", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = pref.edit();
editor.putString("OFFLINEPROJECT", response);
editor.apply();
Log.e("Req 1", response);
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
});
StringRequest stringRequest1 = new StringRequest(URL2",
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
SharedPreferences pref = getApplicationContext().getSharedPreferences("MirSP", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = pref.edit();
editor.putString("OFFLINEFLATNAMES", response);
editor.apply();
Log.e("Req 2", response);
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
});
StringRequest stringRequest2 = new StringRequest(URL3,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
SharedPreferences pref = getApplicationContext().getSharedPreferences("MirSP", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = pref.edit();
editor.putString("OFFLINEIMAGE", response);
editor.apply();
Log.e("Req 3", response);
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
});
StringRequest stringRequest3 = new StringRequest(URL4,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
SharedPreferences pref = getApplicationContext().getSharedPreferences("MirSP", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = pref.edit();
editor.putString("OFFLINEVIDEO", response);
editor.apply();
Log.e("Req 4", response);
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
});
RequestQueue requestQueue = Volley.newRequestQueue(getApplicationContext());
requestQueue.add(stringRequest);
requestQueue.add(stringRequest1);
requestQueue.add(stringRequest2);
requestQueue.add(stringRequest3);
return resp;
}
@Override
protected void onPostExecute(String result) {
pDialog.dismiss();
}
}