zoukankan      html  css  js  c++  java
  • 2020/2/2学习总结

    今天我学习了完成后提示对话框的实现方法:

    1.引用AlertDialog类包实例化对话框

    2.设置对话框文本信息,标题

    3.设置对话框完成按钮单击事件:对话框消失,修改对话框状态,关闭当前页面

    4.设置对话框再来一次按钮事件:对话框消失,修改对话框状态,调用之前的方法,创建并显示对话框。

    protected void dialog(){
            typedialog=false;
            //实例化对话框
                AlertDialog.Builder builder=new AlertDialog.Builder(OneActivity.this);
             //设置对话框文本信息
             builder.setMessage("太棒了,书写完成");
             builder.setTitle("提示");
             builder.setPositiveButton("完成",new DialogInterface.OnClickListener(){
                 public void onClick(DialogInterface dialog,int which){
                     dialog.dismiss();;
                     typedialog=true;
                     finish();
                 }
                });
             builder.setNegativeButton("再来一次",new DialogInterface.OnClickListener(){
                 public void onClick(DialogInterface dialog,int which){
                     dialog.dismiss();
                     typedialog=true;
                     i=1;
                     lodimagep(i);
                 }
             });
             builder.create().show();
            }

     onClick的参数中有一个which,这个which实际上代表的是一个唯一的int型数值。像上面的setPositiveButton中的which代表的是-1,setNegativeButton中的which代表的是-3,setNeutralButton中的which代表的是-2.

    设置列表对话框

     private void dialog2() {  
                final String items[]={"张三","李四","王五"};  
                //dialog参数设置  
                AlertDialog.Builder builder=new AlertDialog.Builder(this);  //先得到构造器  
                builder.setTitle("提示"); //设置标题  
                //builder.setMessage("是否确认退出?"); //设置内容  
                builder.setIcon(R.mipmap.ic_launcher);//设置图标,图片id即可  
                //设置列表显示,注意设置了列表显示就不要设置builder.setMessage()了,否则列表不起作用。  
                builder.setItems(items,new DialogInterface.OnClickListener() {  
                    @Override  
                    public void onClick(DialogInterface dialog, int which) {  
                        dialog.dismiss();  
                        Toast.makeText(MainActivity.this, items[which], Toast.LENGTH_SHORT).show();  
          
                    }  
                });  
                builder.setPositiveButton("确定",new DialogInterface.OnClickListener() {  
                    @Override  
                    public void onClick(DialogInterface dialog, int which) {  
                        dialog.dismiss();  
                        Toast.makeText(MainActivity.this, "确定", Toast.LENGTH_SHORT).show();  
                    }  
                });  
                builder.create().show();  
            }  

    这里的setItems中的Onclick中的which属性是items数组的下标!

     设置单选按钮对话框

    private void dialog3(){  
            final String items[]={"男","女"};  
            AlertDialog.Builder builder=new AlertDialog.Builder(this);  //先得到构造器  
            builder.setTitle("提示"); //设置标题  
            builder.setIcon(R.mipmap.ic_launcher);//设置图标,图片id即可  
            builder.setSingleChoiceItems(items,0,new DialogInterface.OnClickListener() {  
                @Override  
                public void onClick(DialogInterface dialog, int which) {  
                    //dialog.dismiss();  
                    Toast.makeText(MainActivity.this, items[which], Toast.LENGTH_SHORT).show();  
                }  
            });  
            builder.setPositiveButton("确定",new DialogInterface.OnClickListener() {  
                @Override  
                public void onClick(DialogInterface dialog, int which) {  
                    dialog.dismiss();  
                    Toast.makeText(MainActivity.this, "确定", Toast.LENGTH_SHORT).show();  
                }  
            });  
            builder.create().show();  
        } 

    设置多选按钮对话框

    private void dialog4(){  
            final String items[]={"篮球","足球","排球"};  
            final boolean selected[]={true,false,true};  
            AlertDialog.Builder builder=new AlertDialog.Builder(this);  //先得到构造器  
            builder.setTitle("提示"); //设置标题  
            builder.setIcon(R.mipmap.ic_launcher);//设置图标,图片id即可  
            builder.setMultiChoiceItems(items,selected,new DialogInterface.OnMultiChoiceClickListener() {  
                @Override  
                public void onClick(DialogInterface dialog, int which, boolean isChecked) {  
                   // dialog.dismiss();  
                    Toast.makeText(MainActivity.this, items[which]+isChecked, Toast.LENGTH_SHORT).show();  
                }  
            });  
            builder.setPositiveButton("确定",new DialogInterface.OnClickListener() {  
                @Override  
                public void onClick(DialogInterface dialog, int which) {  
                    dialog.dismiss();  
                    Toast.makeText(MainActivity.this, "确定", Toast.LENGTH_SHORT).show();  
                    //android会自动根据你选择的改变selected数组的值。  
                    for (int i=0;i<selected.length;i++){  
                        Log.e("hongliang",""+selected[i]);  
                    }  
                }  
            });  
            builder.create().show();  
        } 
  • 相关阅读:
    crontab与系统时间不一致
    MySQL构造测试数据
    【SQL优化】SQL优化工具
    mysql case when then 使用
    update没带where,寻找问题的思路
    线程池
    线程理论
    数据共享
    进程池
    管道
  • 原文地址:https://www.cnblogs.com/wangzhaojun1670/p/12254676.html
Copyright © 2011-2022 走看看