Andriod自定义对话框,列表对话框,标准对话框使用案例

本文展示了如何在Android中实现自定义对话框、列表对话框和标准对话框。通过监听按钮点击事件,展示不同类型的对话框,包括输入地址的自定义对话框、包含多个选项的列表对话框和简单的确认取消标准对话框。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

public class MainActivity extends Activity {

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

    private void setListener() {
        setStandardDialogClickListener();
        setItemsDialogClickListener();
        setCustomDialogClickListener();
    }

    private void setCustomDialogClickListener() {
        findViewById(R.id.btnCustomDialog).setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                //将custom_dialog.xml解析为一个View类型的对象
                View layout = View.inflate(MainActivity.this, R.layout.custom_dialog, null);
                final EditText etAddrss=(EditText) layout.findViewById(R.id.etAddress);
                AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);
                builder.setTitle("输入地址的对话框")
                    .setView(layout)
                    .setPositiveButton("确定", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            String address=etAddrss.getText().toString();
                            Log.i("main",address);
                        }
                    });
                AlertDialog dialog = builder.create();
                dialog.show();
            }
        });
    }

    //创建列表类型的对话框
    private void setItemsDialogClickListener() {
        findViewById(R.id.btnItemsDialog).setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);
                builder.setItems(new String[]{"增加数据","删除数据","修改数据"}, new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        switch (which) {
                        case 0:
                            Toast.makeText(MainActivity.this, "执行增加数据的操作", 3000).show();
                            break;
                        case 1:
                            Toast.makeText(MainActivity.this, "执行删除数据的操作", 3000).show();
                            break;
                        case 2:
                            Toast.makeText(MainActivity.this, "执行修改数据的操作", 3000).show();
                            break;
                        }
                    }
                });
                AlertDialog dialog = builder.create();
                dialog.show();
            }
        });
    }

    private void setStandardDialogClickListener() {
        findViewById(R.id.btnStandardDialog).setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                //创建对话框的Builder对象
                AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);
                builder.setTitle("退出考试窗口")
                    .setMessage("退出考试吗?")
                    .setPositiveButton("确定", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            Log.i("main","退出考试");
                        }
                    }).setNegativeButton("放弃", new DialogInterface.OnClickListener() {
                        
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            Log.i("main","继续考试");
                        }
                    });
                //创建对话框
                AlertDialog dialog = builder.create();
                dialog.show();
            }
        });
    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值