对话框

本文详细介绍了Android中对话框的使用,包括普通对话框、单选对话框、多选对话框和进度条对话框的创建与逻辑实现。通过具体代码示例,展示了如何设置标题、选项及监听器,为开发者提供了实用的参考。

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

对话框

  • 对话框分类 普通(alertdialog) 单选 多选 进度条对话框 
    • 单选对话框逻辑
                AlertDialog.Builder dialog = new AlertDialog.Builder(MainActivity.this);
                dialog.setTitle("请选择爱人:");
                final String[] strings = {"成青青", "B", "C"};
                dialog.setSingleChoiceItems(strings, 0, new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        String string = strings[which];
                        Toast.makeText(MainActivity.this, "" + string, Toast.LENGTH_SHORT).show();
                        dialog.dismiss();
                    }
                });
                dialog.show();

 

    • 多选对话框
                AlertDialog.Builder dialog = new AlertDialog.Builder(MainActivity.this);
                dialog.setTitle("请选择这学期的选修课:");
                final String[] strings = {"java", "c", "c++", "android", "iso"};
                final boolean[] checks = {false, false, false, true, false};
                dialog.setMultiChoiceItems(strings, checks, new DialogInterface.OnMultiChoiceClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which, boolean isChecked) {

                    }
                });
                dialog.setPositiveButton("确定", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        StringBuffer sb = new StringBuffer();
                        for (int i = 0; i < strings.length; i++) {
                            if (checks[i]) {
                                String string = strings[i];
                                sb.append(string + "  ");
                            }
                        }
                        Toast.makeText(MainActivity.this, "" + sb, Toast.LENGTH_SHORT).show();
                        dialog.dismiss();
                    }
                });
                dialog.show();

 

    • 进度条对话框
                dialog = new ProgressDialog(MainActivity.this);
                dialog.setMessage("正在加载中");
                dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
                dialog.show();
                new Thread() {
                    @Override
                    public void run() {
                        dialog.setMax(100);
                        for (int i = 0; i < 100; i++) {
                            dialog.setProgress(i);
                            SystemClock.sleep(50);
                        }
                        dialog.dismiss();
                        super.run();
                    }
                }.start();

 

转载于:https://www.cnblogs.com/nangongyibin/p/10230563.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值