是的,Android的ProgressDialog可以多次调用。但是,需要注意的是,每次调用ProgressDialog时,都需要确保已经取消了之前的ProgressDialog实例,否则可能会导致多个ProgressDialog同时显示在屏幕上。
以下是一个简单的示例,展示了如何在Android中多次调用ProgressDialog:
public class MainActivity extends AppCompatActivity { private ProgressDialog progressDialog; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 第一次调用ProgressDialog showProgressDialog(); // 模拟异步任务 new Handler().postDelayed(new Runnable() { @Override public void run() { // 取消之前的ProgressDialog实例 if (progressDialog != null && progressDialog.isShowing()) { progressDialog.dismiss(); } // 第二次调用ProgressDialog showProgressDialog(); // 再次模拟异步任务 new Handler().postDelayed(new Runnable() { @Override public void run() { // 取消之前的ProgressDialog实例 if (progressDialog != null && progressDialog.isShowing()) { progressDialog.dismiss(); } } }, 2000); } }, 2000); } private void showProgressDialog() { if (progressDialog == null) { progressDialog = new ProgressDialog(this); progressDialog.setMessage("Loading..."); progressDialog.setCancelable(false); } progressDialog.show(); } }
在这个示例中,我们首先在onCreate
方法中调用了showProgressDialog
方法来显示第一个ProgressDialog。然后,我们使用Handler
模拟了一个异步任务,在异步任务执行完成后,我们取消了之前的ProgressDialog实例,并再次调用了showProgressDialog
方法来显示第二个ProgressDialog。最后,我们再次模拟了一个异步任务,在异步任务执行完成后,我们取消了之前的ProgressDialog实例。