您的位置:首页 > 其它

各种对话框的实现(文字对话框,选择对话框,弹出输入对话框,单选,多选对话框,自定义对话框)

2017-08-14 20:15 615 查看
 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

    
ab94
                

                    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;

        

        }

        

        

    }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  对话框
相关文章推荐