zoukankan      html  css  js  c++  java
  • android 72 确定取消对话框,单选对话框,多选对话框

    package com.itheima.dialog;
    
    import android.os.Bundle;
    import android.app.Activity;
    import android.app.AlertDialog;
    import android.app.AlertDialog.Builder;
    import android.content.DialogInterface;
    import android.content.DialogInterface.OnClickListener;
    import android.content.DialogInterface.OnMultiChoiceClickListener;
    import android.view.Menu;
    import android.view.View;
    import android.widget.Toast;
    
    public class MainActivity extends Activity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
        }
    
        //确定取消对话框
        public void click1(View v){
            AlertDialog.Builder builder = new Builder(this);
            //设置图标
            builder.setIcon(android.R.drawable.alert_dark_frame);
            //设置标题
            builder.setTitle("欲练此功必先自宫");
            //设置文本
            builder.setMessage("李志平,想清楚哦");
            //设置确定按钮
            builder.setPositiveButton("确定", new OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    Toast.makeText(MainActivity.this, "感谢使用本软件,再见", 0).show();
                }
            });
            //设置取消按钮
            builder.setNegativeButton("取消", new OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    Toast.makeText(MainActivity.this, "若不自宫,一定不成功", 0).show();
                }
            });
            //使用创建器,生成一个对话框对象
            AlertDialog ad = builder.create();
            ad.show();
        }
    
        //单选对话框
        public void click2(View v){
            AlertDialog.Builder builder = new Builder(this);
            builder.setTitle("请选择性别");
            final String[] items = new String[]{//局部变量在内部类使用要final
                    "男",
                    "女"
            };
            builder.setSingleChoiceItems(items, -1, new OnClickListener() {//-1默认被选择的
                //which:用户所选的条目的下标
                //dialog:触发这个方法的对话框
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    Toast.makeText(MainActivity.this, "您选择的是:" + items[which], 0).show();
                    //关闭对话框
                    dialog.dismiss();
                }
            });
            builder.show();
        }
        
        //多选对话框
        public void click3(View v){
            AlertDialog.Builder builder = new Builder(this);
            builder.setTitle("请选择您觉得帅的人");
            final String[] items = new String[]{//多选条目
                    "侃哥",
                    "赵帅哥",
                    "赵老师",
                    "赵师兄"
            };
            final boolean[] checkedItems = new boolean[]{//checkedItems默认哪些是被选中的,
                    true,
                    true,
                    false,
                    false
            };
            builder.setMultiChoiceItems(items, checkedItems, new OnMultiChoiceClickListener() {
                //which:用户点击的条目的下标
                //isChecked:用户是选中该条目还是取消该条目
                @Override
                public void onClick(DialogInterface dialog, int which, boolean isChecked) {
                    checkedItems[which] = isChecked;
                }
            });
            //设置一个确定按钮
            builder.setPositiveButton("确定", new OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    String text = "";
                    for(int i = 0; i < 4; i++){
                        text += checkedItems[i]? items[i] + "," : "";
                    }
                    Toast.makeText(MainActivity.this, text, 0).show();
                    dialog.dismiss();
                }
            });
            builder.show();
        }
    }
  • 相关阅读:
    java数据库连接池
    ThreadLocal遇到线程池时, 各线程间的数据会互相干扰, 串来串去
    当ThreadLocal碰上线程池
    threadLocal遇上线程池导致局部变量变化
    java自带线程池和队列详细讲解
    Java 多线程下的单例模式
    一个错误使用单例模式的场景及ThreadLocal简析
    总结SQL Server窗口函数的简单使用
    sqlserver中drop、truncate和delete语句的用法
    JBOSS连接池默认连接数是多少?在哪个配置文件有这个默认的连接数?
  • 原文地址:https://www.cnblogs.com/yaowen/p/4928381.html
Copyright © 2011-2022 走看看