【发布时间】:2016-08-19 06:55:45
【问题描述】:
我正在使用 tablayout 包含两个选项卡。每次呼叫凌空请求。我想在第一个请求开始时显示进度对话框,并在最后一个请求完成后关闭对话框。
【问题讨论】:
标签: android android-fragments android-asynctask android-volley progressdialog
我正在使用 tablayout 包含两个选项卡。每次呼叫凌空请求。我想在第一个请求开始时显示进度对话框,并在最后一个请求完成后关闭对话框。
【问题讨论】:
标签: android android-fragments android-asynctask android-volley progressdialog
使用 AsyncTask ,它有 PreExecute 可以在后台 Job 之前启动任务,而 PostExecute 可以在后台 Job 之后执行一些任务。
在我的示例中,我在 preexecute 中做了一个进度对话框并开始了。完成整个 doinbackground volley request 后,将在 postexecute 中关闭。
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();
}
}
【讨论】: