Android控件之AlertDialog-单选、多选信息列表弹出框
2015-11-28 10:13
393 查看
1、AlertDialog的信息列表、单选、多选对话框简介
上一遍简单介绍了一个信息提示框,下面一次介绍信息列表对话框、单选对话框、多选对话框,具体效果如下
2、xml布局文件
布局文件只是几个按钮,并且为其绑定了点击事件,点击按钮后弹出对话框
3、java代码
上一遍简单介绍了一个信息提示框,下面一次介绍信息列表对话框、单选对话框、多选对话框,具体效果如下
2、xml布局文件
布局文件只是几个按钮,并且为其绑定了点击事件,点击按钮后弹出对话框
<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代码
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(); } }
相关文章推荐
- android:ToolBar详解(手把手教程)
- Android编程实现二维码的生成与解析
- Android NDK开发之JNI调用Java对象
- android移动view之后刷新布局导致移动后的view归回原位置2
- Android开发优化之——使用软引用和弱引用
- android移动view之后刷新布局导致移动后的view归回原位置1
- android项目MD5加密
- AndroidArticle
- Android编程实现一键锁屏的方法
- Android版本-20151119
- Android之ListView原理学习与优化总结
- Android 线程池来管理线程
- 对Android开发者有益的40条优化建议
- android 退出程序解决内存释放的问题
- Android Demo 下拉刷新+加载更多+滑动删除
- Android Demo 下拉刷新+加载更多+滑动删除
- 记录Android端百度地图API使用遇到的问题
- Android 防卸载实现代码。
- 模拟飞翔的小鸟android版 终结文档
- Android笔记——GridLayout布局