Android开发:如何在Dialog弹窗中自定义布局中的按钮设置点击事件,且点击事件是取消该Dialog弹窗

1、要想使Dialog弹窗消失,其实只需要对创建的AlertDialog对象调用cancel方法,那么它就会消失了。

2、TestActivity代码如下:

public class TestActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_test);
        final AlertDialog addDialog = new AlertDialog.Builder(TestActivity.this).create();

        final View view = getLayoutInflater().inflate(R.layout.xxxx, null);
        addDialog.setView(view);

        Button okBtn = view.findViewById(R.id.okDialogBtn);
        okBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //Do your coding here
                addDialog.cancel();
                //如果要刷新页面则可调用onResume()方法
                //onResume();
            }
        });

        Button closeBtn = view.findViewById(R.id.closeDialogBtn);
        closeBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                addDialog.cancel();
            }
        });

        addDialog.show();
    }
}
可以按照以下步骤自定义一个弹窗: 1. 在Activity重写onCreateDialog()方法,返回一个Dialog对象。 2. 在Dialog对象的构造函数设置弹窗的样式、布局和监听事件。 3. 在Activity调用showDialog()方法显示弹窗。 以下是示例代码: ```java public class MainActivity extends AppCompatActivity { private static final int DIALOG_CUSTOM = 1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 显示自定义弹窗 showDialog(DIALOG_CUSTOM); } @Override protected Dialog onCreateDialog(int id) { switch (id) { case DIALOG_CUSTOM: // 创建自定义弹窗 Dialog dialog = new Dialog(this); dialog.setContentView(R.layout.dialog_custom); dialog.setTitle("自定义弹窗"); // 设置按钮的监听事件 Button btnOk = dialog.findViewById(R.id.btn_ok); btnOk.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // 处理确定按钮点击事件 Toast.makeText(MainActivity.this, "点击了确定按钮", Toast.LENGTH_SHORT).show(); dismissDialog(DIALOG_CUSTOM); } }); Button btnCancel = dialog.findViewById(R.id.btn_cancel); btnCancel.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // 处理取消按钮点击事件 Toast.makeText(MainActivity.this, "点击取消按钮", Toast.LENGTH_SHORT).show(); dismissDialog(DIALOG_CUSTOM); } }); return dialog; } return super.onCreateDialog(id); } } ``` 在上面的代码,我们创建了一个自定义弹窗,并设置了确定和取消按钮点击事件。在Activity的onCreate()方法,调用showDialog()方法显示弹窗。当用户点击按钮时,弹窗会被关闭
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值