溫馨提示×

怎樣用AlertDialog.Builder顯示進度條

小樊
81
2024-10-12 21:11:22
欄目: 編程語言

要使用AlertDialog.Builder顯示進度條,請按照以下步驟操作:

  1. 首先確保您的項目中已經(jīng)導(dǎo)入了androidx.appcompat:appcompatandroidx.core:core庫。如果沒有,請在build.gradle文件中添加依賴項:
dependencies {
    implementation 'androidx.appcompat:appcompat:版本號'
    implementation 'androidx.core:core:版本號'
}
  1. 在您的Activity或Fragment中創(chuàng)建一個方法,例如showProgressDialog(),并在其中設(shè)置AlertDialog和進度條:
private void showProgressDialog() {
    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    ProgressBar progressBar = new ProgressBar(this);
    builder.setView(progressBar);
    builder.setCancelable(false); // 設(shè)置為false,使對話框無法被取消
    AlertDialog alertDialog = builder.create();
    alertDialog.show();
}
  1. 在需要顯示進度條的地方調(diào)用showProgressDialog()方法。例如,當(dāng)您開始一個耗時操作時:
new Thread(new Runnable() {
    @Override
    public void run() {
        // 執(zhí)行耗時操作
        try {
            Thread.sleep(3000); // 假設(shè)操作需要3秒
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

        // 操作完成后,回到主線程更新UI
        runOnUiThread(new Runnable() {
            @Override
            public void run() {
                // 關(guān)閉進度條對話框
                AlertDialog alertDialog = getAlertDialog();
                if (alertDialog != null && alertDialog.isShowing()) {
                    alertDialog.dismiss();
                }
            }
        });
    }
}).start();

// 顯示進度條對話框
showProgressDialog();

這樣,當(dāng)耗時操作開始時,會顯示一個包含進度條的AlertDialog。操作完成后,進度條將自動消失。

0