使用AlertDialog创建对话框
2016-01-03 21:30
363 查看
1、布局文件
2、显示带取消、中立和确定按钮的对话框
3、显示带列表的对话框
4、显示带单选列表项的对话框
5、在主活动MainActivity中定义一个boolean类型的数组(用于记录各列表项的状态)和一个String类型的数组(用于记录各列表项要显示的内容)
6、显示带多选列表项的对话框
<LinearLayout 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:orientation="vertical"> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="显示带取消、中立和确定按钮的对话框" /> <Button android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="显示带列表的对话框" /> <Button android:id="@+id/button3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="显示带单选列表项的对话框" /> <Button android:id="@+id/button4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="显示带多选列表项的对话框" /> </LinearLayout>
2、显示带取消、中立和确定按钮的对话框
Button button1 = (Button)findViewById(R.id.button1);//获取“显示带取消、中立和确定按钮的对话框”按钮 button1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { AlertDialog alert = new AlertDialog.Builder(MainActivity.this).create(); alert.setIcon(R.drawable.img01);//设置对话框的图标 alert.setTitle("系统提示:");//设置对话框的标题 alert.setMessage("带取消、中立和确定按钮的对话框!");//设置要显示的内容 //添加取消按钮 alert.setButton(DialogInterface.BUTTON_NEGATIVE, "取消", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(MainActivity.this, "您单击了取消按钮", Toast.LENGTH_SHORT).show(); } }); //添加确定按钮 alert.setButton(DialogInterface.BUTTON_POSITIVE, "确定", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(MainActivity.this, "您单击了确定按钮", Toast.LENGTH_SHORT).show(); } }); alert.setButton(DialogInterface.BUTTON_NEUTRAL, "中立", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(MainActivity.this, "您单击了中立按钮", Toast.LENGTH_SHORT).show(); } }); alert.show();//显示对话框 } });
3、显示带列表的对话框
Button button2 = (Button) findViewById(R.id.button2);// 获取“显示带列表的对话框”按钮 button2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { final String[] items = new String[] { "早饭", "午饭", "晚饭", "夜宵" }; Builder builder = new AlertDialog.Builder(MainActivity.this); builder.setIcon(R.drawable.img02); builder.setTitle("请选择饭点"); // 添加列表项 builder.setItems(items, new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(MainActivity.this, "您选择了"+items[which], Toast.LENGTH_SHORT).show(); } }); builder.create().show();//创建对话框并显示 } });
4、显示带单选列表项的对话框
Button button3 = (Button)findViewById(R.id.button3);//获取“显示带单选列表项的对话框”按钮 button3.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { final String[] items = new String[]{"标准","无声","会议","户外","离线"}; //显示带单选列表项的对话框 Builder builder = new AlertDialog.Builder(MainActivity.this); builder.setIcon(R.drawable.img03); builder.setTitle("请选择要使用的情景模式:"); builder.setSingleChoiceItems(items, 0, new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(MainActivity.this, "您选择了"+items[which],Toast.LENGTH_SHORT).show(); } }); builder.setPositiveButton("确定",null); builder.create().show(); } });
5、在主活动MainActivity中定义一个boolean类型的数组(用于记录各列表项的状态)和一个String类型的数组(用于记录各列表项要显示的内容)
private boolean[] checkedItems; //记录各列表项的状态 private String[] items; //各列表项要显示的内容
6、显示带多选列表项的对话框
Button button4 = (Button)findViewById(R.id.button4);//获取“显示带多选列表项的对话框”按钮 button4.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { checkedItems = new boolean[]{false,true,false,true,false}; //各列表项要显示的内容 items = new String[]{"天涯明月刀","剑网三","古剑奇谭","英雄联盟"}; //显示带多选列表项的对话框 Builder builder = new AlertDialog.Builder(MainActivity.this); builder.setIcon(R.drawable.img04); builder.setTitle("请选择您喜欢的游戏:"); builder.setMultiChoiceItems(items, checkedItems, new OnMultiChoiceClickListener() { @Override public void onClick(DialogInterface dialog, int which, boolean isChecked) { checkedItems[which]=isChecked;//改变被操作列表项的状态 } }); //为对话框添加“确定”按钮 builder.setPositiveButton("确定", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { String result = "";//用于保存选择结果 for (int i = 0; i < checkedItems.length; i++) { if(checkedItems[i]){ //当选项被选择时 result+=items[i]+"、"; //将选项的内容添加到result中 } } //当result不为空时,通过消息提示框显示选择的结果 if(!"".equals(result)){ result=result.substring(0, result.length()-1);//去掉最后面的"、"号 Toast.makeText(MainActivity.this, "您选择了["+result+"]", Toast.LENGTH_SHORT).show(); } } }); builder.create().show();//创建对话框并显示 } });
相关文章推荐
- js'中的apply和call和bind的用法
- STM32的位带操作
- Hadoop完全分布式安装实战
- 数据库第二章
- 001Two Sum (C)
- <Java>函数的参数是数组
- 2015年终总结
- 深入了解View的绘制流程
- 遗传算法解决旅行商问题(TSP)
- js'中的apply和call和bind的用法
- KVC和KVO
- 详解CSS float属性
- 反序输出正整数和求数组交集的问题
- Introduction to the SQL Server Analysis Services Logistic Regression Data Mining Algorithm
- Python 递归 list不正确
- jdk的 安装
- storm-kafka的使用
- redis单机多实例使用
- Bitmap.Config RGB
- *LeetCode 29. Divide Two Integers