如何在Android中启动活动之前显示进度对话框?

Neh*_*eha 34 android progressdialog android-progressbar android-dialog android-activity

如何在Android中启动活动(即活动加载某些数据)之前显示进度对话框?

Mat*_*lis 64

您应该在AsyncTask中加载数据并在数据加载完成后更新您的界面.

您甚至可以在AsyncTask的onPostExecute()方法中启动一个新活动.

更具体地说,您将需要一个扩展AsyncTask的新类:

public class MyTask extends AsyncTask<Void, Void, Void> {
  public MyTask(ProgressDialog progress) {
    this.progress = progress;
  }

  public void onPreExecute() {
    progress.show();
  }

  public void doInBackground(Void... unused) {
    ... do your loading here ...
  }

  public void onPostExecute(Void unused) {
    progress.dismiss();
  }
}
Run Code Online (Sandbox Code Playgroud)

然后在你的活动中你会做:

ProgressDialog progress = new ProgressDialog(this);
progress.setMessage("Loading...");
new MyTask(progress).execute();
Run Code Online (Sandbox Code Playgroud)