如何用AlertDialog.Builder取消對(duì)話框

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

要使用AlertDialog.Builder取消對(duì)話框,您需要首先創(chuàng)建一個(gè)AlertDialog實(shí)例,然后使用setOnCancelListener()方法為其設(shè)置一個(gè)取消監(jiān)聽器。當(dāng)用戶點(diǎn)擊對(duì)話框的“取消”按鈕時(shí),監(jiān)聽器會(huì)觸發(fā)一個(gè)回調(diào)方法。在這個(gè)方法中,您可以執(zhí)行取消對(duì)話框所需的操作。

以下是一個(gè)簡單的示例:

import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Button button = findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                showDialog();
            }
        });
    }

    private void showDialog() {
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setTitle("取消對(duì)話框");
        builder.setMessage("您確定要取消嗎?");

        // 設(shè)置取消監(jiān)聽器
        builder.setOnCancelListener(new DialogInterface.OnCancelListener() {
            @Override
            public void onCancel(DialogInterface dialog) {
                // 在這里執(zhí)行取消對(duì)話框所需的操作
                cancelDialog();
            }
        });

        AlertDialog alertDialog = builder.create();
        alertDialog.show();
    }

    private void cancelDialog() {
        // 在這里執(zhí)行取消對(duì)話框所需的操作,例如關(guān)閉對(duì)話框、釋放資源等
        // ...
    }
}

在這個(gè)示例中,當(dāng)用戶點(diǎn)擊“取消”按鈕時(shí),onCancel()方法會(huì)被觸發(fā),然后調(diào)用cancelDialog()方法執(zhí)行相應(yīng)的操作。您可以根據(jù)實(shí)際需求修改這個(gè)方法中的代碼。

0