您需要实现 AsyncTask 或简单的 JAVA 线程。立即使用 AsyncTask。
onPreExecute()
- 在此处显示对话框
doInBackground()
- 调用 getTracks()
onPostExecute()
- 在 ListView 中显示曲目并关闭对话框
例如:
private static class LoadTracksTask extends AsyncTask<Void, Void, Void> {
ProgressDialog progress;
@Override
protected void onPreExecute() {
progress = new ProgressDialog(yourActivity.this);
progress .setMessage("loading");
progress .show();
}
@Override
protected Void doInBackground(Void... params) {
// do tracks loading process here, don't update UI directly here because there is different mechanism for it
return null;
}
@Override
protected void onPostExecute(Void result) {
// write display tracks logic here
progress.dismiss(); // dismiss dialog
}
}
完成定义 AsyncTask 类后,只需onCreate()
通过调用execute()
AsyncTask 的方法来执行里面的任务。
例如:
new LoadTracksTask().execute();