对话框

来源:互联网 发布:农业物联网大数据平台 编辑:程序博客网 时间:2024/05/21 22:50
package com.example.dialog;

import android.app.Activity;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.content.DialogInterface;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.TextureView;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends Activity implements OnClickListener {

    //单选初始化数据
    private String[] sex=new String[]{"男","女","春哥"};
    //单选默认选中
    private int select=1;
    //多选初始化数据
    private String[] hobby=new String[]{"吃","睡","打豆豆"};
    //多选默认选中
    private boolean[] selectH=new boolean[]{true,false,true};

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        findViewById(R.id.bt_1).setOnClickListener(this);
        findViewById(R.id.bt_2).setOnClickListener(this);
        findViewById(R.id.bt_3).setOnClickListener(this);
        findViewById(R.id.bt_4).setOnClickListener(this);
        findViewById(R.id.bt_5).setOnClickListener(this);
        findViewById(R.id.bt_6).setOnClickListener(this);
        findViewById(R.id.bt_7).setOnClickListener(this);
        
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
        //文字对话框
        case R.id.bt_1:
            
            //先创建对话框的builder
            AlertDialog.Builder b1=new AlertDialog.Builder(this);
            //用builder设置标题
            b1.setTitle("提示");
            //用builder设置内容
            b1.setMessage("您确定删除?");
            //builder设置确定按钮 setp
            b1.setPositiveButton("确认",new DialogInterface.OnClickListener() {
                
                @Override
                public void onClick(DialogInterface arg0, int arg1) {
                    // TODO Auto-generated method stub
                }
            });
            b1.setNegativeButton("取消", new DialogInterface.OnClickListener() {
                
                @Override
                public void onClick(DialogInterface arg0, int arg1) {
                    // TODO Auto-generated method stub
                    
                }
            });
            //创建出对话框
            b1.create();
            //展示对话框
            b1.show();
            break;

            //选择对话框
        case R.id.bt_2:
            AlertDialog.Builder b2=new AlertDialog.Builder(this);
            b2.setTitle("选择");
            b2.setMessage("你喜欢什么性别?");
            b2.setPositiveButton("男", new DialogInterface.OnClickListener() {
                
                @Override
                public void onClick(DialogInterface arg0, int arg1) {
                    // TODO Auto-generated method stub
                }
            });
            b2.setNegativeButton("女", new  DialogInterface.OnClickListener() {
                
                @Override
                public void onClick(DialogInterface arg0, int arg1) {
                    // TODO Auto-generated method stub
                    
                }
            });
            b2.setNeutralButton("中性", new DialogInterface.OnClickListener() {
                
                @Override
                public void onClick(DialogInterface arg0, int arg1) {
                    // TODO Auto-generated method stub
                    
                }
            });
            AlertDialog create = b2.create();
            create.show();
            
            break;
            
            //输入对话框
        case R.id.bt_3:
            
            AlertDialog.Builder b3=new AlertDialog.Builder(this);
            b3.setTitle("");
            

            break;
            //单选对话框
        case R.id.bt_4:
            AlertDialog.Builder b4=new AlertDialog.Builder(this);
            b4.setTitle("单选对话框");
            b4.setSingleChoiceItems(sex, select, new DialogInterface.OnClickListener() {
                
                @Override
                public void onClick(DialogInterface arg0, int arg1) {
                    // TODO Auto-generated method stub
                    select=arg1;
                }
            });
            
            b4.setPositiveButton("确定", new DialogInterface.OnClickListener() {
                
                @Override
                public void onClick(DialogInterface arg0, int arg1) {
                    // TODO Auto-generated method stub
                    Toast.makeText(MainActivity.this, "你选择的性别是:"+sex[select], Toast.LENGTH_SHORT).show();
                    
                }
            });
            
            b4.setNegativeButton("取消", new DialogInterface.OnClickListener() {
                
                @Override
                public void onClick(DialogInterface arg0, int arg1) {
                    // TODO Auto-generated method stub
                    
                }
            });
            b4.create().show();  
            
            
            break;
            //多选对话框
        case R.id.bt_5:
            AlertDialog.Builder b5=new AlertDialog.Builder(this);
            b5.setTitle("多选对话框");
            b5.setMultiChoiceItems(hobby, selectH,new DialogInterface.OnMultiChoiceClickListener() {

                @Override
                public void onClick(DialogInterface arg0,
                        int postion, boolean isSelect) {
                    // TODO Auto-generated method stub
                    selectH[postion] = isSelect;
                }
            });
            b5.setPositiveButton("确定", new DialogInterface. OnClickListener() {
                
                @Override
                public void onClick(DialogInterface arg0, int arg1) {
                    // TODO Auto-generated method stub
                    String temp=" ";
                    for (int i = 0; i < selectH.length; i++) {
                        if(selectH[i]==true)
                        {
                            temp+=hobby[i];
                        }  
                    }
                    Toast.makeText(MainActivity.this, "你选择了"+temp, Toast.LENGTH_SHORT).show();
                    
                }
            });
            b5.create();
            b5.show();
            break;
            
            //弹出列表对话框
        case R.id.bt_6:
            AlertDialog.Builder b6=new AlertDialog.Builder(this);
            
            b6.setTitle("列表");
            b6.setItems(sex, new DialogInterface.OnClickListener() {
                
                @Override
                public void onClick(DialogInterface arg0, int arg1) {
                    // TODO Auto-generated method stub
                    
                    Toast.makeText(MainActivity.this, sex[arg1], Toast.LENGTH_SHORT).show();
                    
                }
            });
            
            
            b6.create();
            b6.show();
            
            break;
        //自定义对话框
        case R.id.bt_7:
            //获取自己的布局
        View view = LayoutInflater.from(this).inflate(R.layout.item, null);
            
            //找控件
         final EditText  et_name= (EditText) findViewById(R.id.et_name);
         final EditText  et_passowrd= (EditText) findViewById(R.id.et_password);
        
         AlertDialog.Builder b7=new AlertDialog.Builder(this);
         b7.setTitle("登录");
         b7.setView(view);
         b7.setPositiveButton("登录", new DialogInterface.OnClickListener() {
            
            @Override
            public void onClick(DialogInterface arg0, int arg1) {
                // TODO Auto-generated method stub
                if(TextUtils.isEmpty(et_name.getText()))
                {
                    Toast.makeText(MainActivity.this, "用户名为空", Toast.LENGTH_SHORT).show();
                    return;
                    
                }
                if(TextUtils.isEmpty(et_passowrd.getText())){
                    Toast.makeText(MainActivity.this, "密码为空", Toast.LENGTH_SHORT).show();

                    return;
                }
                Toast.makeText(MainActivity.this, "登录成功", Toast.LENGTH_SHORT).show();

            }
        });
         b7.setNegativeButton("取消", new DialogInterface.OnClickListener() {
            
            @Override
            public void onClick(DialogInterface arg0, int arg1) {
                // TODO Auto-generated method stub
            }
        });
            

         b7.create();
         b7.show();
            break;
        
        }
        
        
    }

}