Я работаю с tablayout, содержит две вкладки. Каждый запрос звонящего звонка. Я хочу показать диалог выполнения при первом запуске запроса и закрытии диалогового окна после завершения последнего запроса.Как обрабатывать одиночный прогрессдиалог с параллельным множественным запросом на волейбол
1
A
ответ
-1
использовать AsyncTask, он имеет PreExecute для запуска задачи перед фоновым заданием и PostExecute для выполнения некоторой задачи после фонового задания.
здесь, в моем примере, я сделал диалог прогресса в начале и начал. после завершения всего запроса doillbackground volley, он будет уволен в постэксплуатации.
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();
}
}