【发布时间】:2018-04-13 12:36:03
【问题描述】:
如何使进度条加载直到执行 doBackground() 中的所有方法。我使用了 Thread.sleep,加载程序显示它之后它会暂停执行所有方法,然后返回到下一个活动
public class LoadDataForActivity extends AsyncTask<Void, Void, Void> {
@Override
protected Void doInBackground(Void... params) {
ExecutorService executor = Executors.newSingleThreadExecutor();
executor.execute(new Runnable() {
public void run() {
// Do some long running operation on a worker thread
try {
Thread.sleep(200); // no need for a loop
cities_from();
cities_to();
srs_bus();
etsPick();
etsPick1();
srs_drop1();
srs_drop2();
srs_key_value();
key_value();
srs_pick1();
srs_pick2();
key_value_pick();
vrl_borad_id_loc();
vrl_board_key_value();
vrl_drop_id_loc();
vrl_drop_key_value();
vrl_bus();
bitla_key_value_pick2();
ets_bus();
bitla_drop();
bitla_drop1();
bitla_drop2();
bitla_key_value();
bitla_key_value1();
bitla_pick1();
bitla_pick2();
bitla();
srs();
tabs();
cancel_policy();
} catch (InterruptedException e) {
Log.e("LongOperation", "Interrupted", e);
}
}
});
return null;
}
@Override
protected void onPreExecute() {
super.onPreExecute();
pd=new ProgressDialog(BusOperators.this);
pd.setTitle("Title");
pd.setMessage("Please Wait.... ");
pd.setCancelable(false);
pd.show();
}
protected void onPostExecute(Void v) {
super.onPostExecute(v);
pd.dismiss();
}
protected void onProgressUpdate(String... progress) {
// Update UI to show progress
/* prgDialog.setProgress(Integer.parseInt(progress[0])); */
}
}
我希望进度条一直保持到 doBackground() 中的所有方法都被执行
【问题讨论】:
标签: android multithreading android-asynctask progress-bar