您的位置:首页 > 移动开发 > Android开发

Android控件之AlertDialog-单选、多选信息列表弹出框

2017-09-08 15:16 489 查看
1、AlertDialog的信息列表、单选、多选对话框简介

上一遍简单介绍了一个信息提示框,下面一次介绍信息列表对话框、单选对话框、多选对话框,具体效果如下







2、xml布局文件

布局文件只是几个按钮,并且为其绑定了点击事件,点击按钮后弹出对话框

[html] view
plain copy

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  

    xmlns:tools="http://schemas.android.com/tools"  

    android:layout_width="match_parent"  

    android:layout_height="match_parent"  

    android:paddingBottom="@dimen/activity_vertical_margin"  

    android:paddingLeft="@dimen/activity_horizontal_margin"  

    android:paddingRight="@dimen/activity_horizontal_margin"  

    android:paddingTop="@dimen/activity_vertical_margin"  

    tools:context=".MainActivity" >  

    <Button  

        android:id="@+id/button2"  

        android:layout_width="wrap_content"  

        android:layout_height="wrap_content"  

        android:layout_alignParentLeft="true"  

        android:layout_alignRight="@+id/button1"  

        android:layout_below="@+id/button1"  

        android:onClick="showListAlertDialog"  

        android:text="信息列表框" />  

    <Button  

        android:id="@+id/button3"  

        android:layout_width="wrap_content"  

        android:layout_height="wrap_content"  

        android:layout_alignLeft="@+id/button2"  

        android:layout_alignParentRight="true"  

        android:layout_below="@+id/button2"  

        android:onClick="showSingleAlertDialog"  

        android:text="单选列表" />  

    <Button  

        android:id="@+id/button4"  

        android:layout_width="wrap_content"  

        android:layout_height="wrap_content"  

        android:layout_alignLeft="@+id/button3"  

        android:layout_alignParentRight="true"  

        android:layout_below="@+id/button3"  

        android:onClick="showMutilAler<span style="font-family: Arial, Helvetica, sans-serif;">tDialog"</span>  

        android:text="多选按钮" />  

  

</RelativeLayout>  

3、java代码

[java] view
plain copy

package com.example.alertdialog;  

  

import android.app.Activity;  

import android.app.AlertDialog;  

import android.content.DialogInterface;  

import android.os.Bundle;  

import android.view.Menu;  

import android.view.View;  

import android.widget.EditText;  

import android.widget.Toast;  

  

public class MainActivity extends Activity {  

  

    @Override  

    protected void onCreate(Bundle savedInstanceState) {  

        super.onCreate(savedInstanceState);  

        setContentView(R.layout.activity_main);  

    }  

  

    @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;  

    }  

  

    // 信息列表提示框  

    private AlertDialog alertDialog1;  

    public void showListAlertDialog(View view){  

        final String[] items = {"Struts2","Spring","Hibernate","Mybatis","Spring MVC"};  

        AlertDialog.Builder alertBuilder = new AlertDialog.Builder(this);  

        alertBuilder.setTitle("java EE 常用框架");  

        alertBuilder.setItems(items, new DialogInterface.OnClickListener() {  

            @Override  

            public void onClick(DialogInterface arg0, int index) {  

                Toast.makeText(MainActivity.this, items[index], Toast.LENGTH_SHORT).show();  

                alertDialog1.dismiss();  

            }  

        });  

        alertDialog1 = alertBuilder.create();  

        alertDialog1.show();  

    }  

      

    // 单选提示框  

    private AlertDialog alertDialog2;  

    public void showSingleAlertDialog(View view){  

        final String[] items = {"Struts2","Spring","Hibernate","Mybatis","Spring MVC"};  

        AlertDialog.Builder alertBuilder = new AlertDialog.Builder(this);  

        alertBuilder.setTitle("java EE 常用框架");  

        alertBuilder.setSingleChoiceItems(items, 0, new DialogInterface.OnClickListener() {  

              

            @Override  

            public void onClick(DialogInterface arg0, int index) {  

                Toast.makeText(MainActivity.this, items[index], Toast.LENGTH_SHORT).show();  

            }  

        });  

        alertBuilder.setPositiveButton("确定", new DialogInterface.OnClickListener() {  

              

            @Override  

            public void onClick(DialogInterface arg0, int arg1) {  

                //TODO 业务逻辑代码  

                  

                // 关闭提示框  

                alertDialog2.dismiss();  

            }  

        });  

        alertBuilder.setNegativeButton("取消", new DialogInterface.OnClickListener() {  

              

            @Override  

            public void onClick(DialogInterface arg0, int arg1) {  

                // TODO 业务逻辑代码  

                  

                // 关闭提示框  

                alertDialog2.dismiss();  

            }  

        });  

        alertDialog2 = alertBuilder.create();  

        alertDialog2.show();  

    }  

      

    // 多选提示框  

    private AlertDialog alertDialog3;  

    public void showMutilAlertDialog(View view){  

        final String[] items = {"Struts2","Spring","Hibernate","Mybatis","Spring MVC"};  

          

        // 创建一个AlertDialog建造者  

        AlertDialog.Builder alertDialogBuilder= new AlertDialog.Builder(this);  

        // 设置标题  

        alertDialogBuilder.setTitle("java EE 常用框架");  

        // 参数介绍  

        // 第一个参数:弹出框的信息集合,一般为字符串集合  

        // 第二个参数:被默认选中的,一个布尔类型的数组  

        // 第三个参数:勾选事件监听  

        alertDialogBuilder.setMultiChoiceItems(items, null, new DialogInterface.OnMultiChoiceClickListener() {  

            @Override  

            public void onClick(DialogInterface dialog, int which, boolean isChecked) {  

                // dialog:不常使用,弹出框接口  

                // which:勾选或取消的是第几个  

                // isChecked:是否勾选  

                if (isChecked) {  

                    // 选中  

                    Toast.makeText(MainActivity.this, "选中"+items[which], Toast.LENGTH_SHORT).show();  

                }else {  

                    // 取消选中  

                    Toast.makeText(MainActivity.this, "取消选中"+items[which], Toast.LENGTH_SHORT).show();  

                }  

                  

            }  

        });  

        alertDialogBuilder.setPositiveButton("确定", new DialogInterface.OnClickListener() {  

              

            @Override  

            public void onClick(DialogInterface arg0, int arg1) {  

                //TODO 业务逻辑代码  

                  

                // 关闭提示框  

                alertDialog3.dismiss();  

            }  

        });  

        alertDialogBuilder.setNegativeButton("取消", new DialogInterface.OnClickListener() {  

              

            @Override  

            public void onClick(DialogInterface arg0, int arg1) {  

                // TODO 业务逻辑代码  

                  

                // 关闭提示框  

                alertDialog3.dismiss();  

            }  

        });  

        alertDialog3 = alertDialogBuilder.create();  

        alertDialog3.show();  

    }  

      

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