zoukankan      html  css  js  c++  java
  • Android学习笔记使用AlertDialog实现对话框

    使用AlertDialog可以实现如下对话框

    案例

    布局问文件就加了几个Button,我直接上Java代码了

    • 实现显示带取消,确定按钮的对话框按钮
    Button showDialogOne = findViewById(R.id.showDialog_one);
            showDialogOne.setOnClickListener(new View.OnClickListener(){
                @Override
                public void onClick(View v) {
                    AlertDialog alertDialog = new
                            AlertDialog.Builder(MainActivity.this).create();
                    //创建AlertDialog对象
                    alertDialog.setIcon(R.drawable.apple);//设置图标
                    alertDialog.setTitle("一个战5渣:");//设置标题
                    alertDialog.setTitle("苟活性命于互联网,我太难了,是吧?");
                    alertDialog.setButton(DialogInterface.BUTTON_NEGATIVE,
                            "否", new Dialog.OnClickListener() {
                                @Override
                                public void onClick(DialogInterface dialog, int which) {
                                    Toast.makeText(
                                            MainActivity.this, "您单击了否按钮",
                                            Toast.LENGTH_SHORT).show();
                                }
                            });//取消按钮
    
                    alertDialog.setButton(DialogInterface.BUTTON_POSITIVE,
                            "是", new Dialog.OnClickListener() {
                                @Override
                                public void onClick(DialogInterface dialog, int which) {
                                    Toast.makeText(
                                            MainActivity.this, "您单击了是按钮",
                                            Toast.LENGTH_SHORT).show();
                                }
                            });//取消按钮
                    alertDialog.show();
                }
            });
    

    效果:

    • 显示带列表的对话框按钮
      MainActivity.java
           /**********显示带列表的对话框按钮***************/
            Button button2 = findViewById(R.id.button2);
            button2.setOnClickListener(new View.OnClickListener(){
                @Override
                public void onClick(View v) {
                    //带4个列表项的列表对话框
                    final String[] items = new String[]{"当你有了钱,它会让你更专注",
                            "abcdefg",
                            "为什么我还没有钱",
                            "求钱若渴",
                            "求财若饥"};//列表数组
                    AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
                    //创建AlertDialog.Builder对象
                    builder.setIcon(R.drawable.apple);
                    builder.setTitle("请选择你喜欢的一句话:");
                    builder.setItems(items, new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            Toast.makeText(MainActivity.this,
                                    "你选择了【"+items[which]+"】",Toast.LENGTH_SHORT).show();
                        }
                    });
                    builder.create().show();//创建并显示对话框
                }
            });
    

    效果:

    • 显示带单选列表的对话框
      /***显示带单选列表的对话框***/
            Button button3 = (Button)findViewById(R.id.button3);
            button3.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    final String[] items = new String[]{"乔布斯","马云","扎克伯格","陆奇"};
                    AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
                    builder.setIcon(R.drawable.apple);
                    builder.setTitle("如果让你选择,你最想做哪一个:");
                    builder.setSingleChoiceItems(items, 0, new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            Toast.makeText(MainActivity.this,"您选择了【"+items[which]+"】",
                                    Toast.LENGTH_LONG).show();
                        }
                    });
                    builder.setPositiveButton("确定",null);
                    builder.create().show();//创建并显示对话框
                }
            });
    

    • 显示带多选列表项的对话框按钮
     Button button4 = findViewById(R.id.button4);
            button4.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    final boolean[] checkedItems = new boolean[]{false,false,true};//记录各列表项的状态
                    final String[] items = new String[]{"开心消消乐","球球大作战","王者荣耀"};
                    AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
                    builder.setTitle("请选择您喜爱的游戏:");//设置标题
                    builder.setMultiChoiceItems(items, checkedItems, new DialogInterface.OnMultiChoiceClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which, boolean isChecked) {
                            checkedItems[which] = isChecked;//改变被操作列表的状态
                        }
                    });//添加列表项
                    builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
    
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            String result = "";//记录结果的字符串
                            for(int i=0;i<checkedItems.length;i++){
                                if(checkedItems[i]){
                                    result += items[i]+"、";//把选择项的内容添加到result中
                                }
                            }
                            if(!"".equals(result)){
                                Toast.makeText(MainActivity.this,
                                        "您选择了["+result+"]",Toast.LENGTH_SHORT).show();
                            }
                        }
                    });
                    builder.create().show();
                }
            });
        }
    

    总结

  • 相关阅读:
    201771030120-王嫄 实验三 结对项目—《西北师范大学疫情防控信息系统》项目报告
    201771030120-王嫄 实验二 个人项目—《西北师范大学学生疫情上报系统》项目报告
    201771030120-王嫄 实验一 软件工程准备 <课程学习目的思考>
    ETH充提币API接口中文文档
    开放API接口 USDT快捷接入充提教程
    比特币BTC支付API接口中文文档
    ERC20充提币API接口文档
    如何调用比特币钱包RPC API实现充值、转账、支付?
    .NET对接交易所钱包教程
    Java 对接交易所钱包解决方案
  • 原文地址:https://www.cnblogs.com/lzpq/p/13052760.html
Copyright © 2011-2022 走看看