是的,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實例。