AlertDialog提示对话框练习
闲来无事,就练习了下AlertDialog对话框。
首先写了三个button,分别打开一般对话框,单选列表对话框和复选对话框。
xml代码
<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"
tools:context=".MainActivity"
android:orientation="vertical"> <Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="提示对话框"
android:onClick="listener1"/> <Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="单选对话框"
android:onClick="listener2"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="复选对话框"
android:onClick="listener3"/>
</LinearLayout>
java代码:
package com.dj.alertdialogtest; import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.app.Dialog;
import android.content.DialogInterface;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.Toast; public class MainActivity extends Activity {
AlertDialog.Builder dialog=null;
private int num; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
} /**显示对话框*/
public void listener1(View v){
dialog=new AlertDialog.Builder(MainActivity.this);//初始化显示对话框
dialog.setIcon(R.drawable.ic_launcher);//设置对话框的图标
dialog.setTitle("调查");//设置对话框的标题
dialog.setMessage("假如给你一百万你想做什么?");//设置对话框的内容信息 /**设置对话的三个button按钮*/
dialog.setPositiveButton("捐款",new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(getApplicationContext(), "我要做有意思的事!", Toast.LENGTH_LONG).show();
}
});
dialog.setNegativeButton("旅游", new DialogInterface.OnClickListener() { @Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(getApplicationContext(), "我要好好活!", Toast.LENGTH_LONG).show();
}
}); dialog.setNeutralButton("坐吃等死", new DialogInterface.OnClickListener() { @Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(getApplicationContext(), "我要坐吃等死!", Toast.LENGTH_LONG).show();
}
});
dialog.create();//创建
dialog.show();//将设置完的对话框显示出来
} /**以下是单选列表对话框*/
public void listener2(View v){
AlertDialog.Builder dialog=new AlertDialog.Builder(this);
final String[] str={"鱼香肉丝","宫保鸡丁","回锅肉","东坡肉"};//设置列表的元素
dialog.setIcon(R.drawable.ic_launcher);//设置图标
dialog.setTitle("选择你喜欢的食物");//设置标题
/**设置单选列表对话框。第一个参数为列表元素,以字符串数组承装;
* 第二个参数是默认选中的元素,0表示第一个*/
dialog.setSingleChoiceItems(str, 0, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
num=which;//which表示哪个下标被选中
}
});
dialog.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
String temp="你喜欢的食物是:";
//str[num]表示选中的是哪个食物
Toast.makeText(getApplicationContext(), temp+str[num], Toast.LENGTH_LONG).show();
}
});
dialog.create();
dialog.show();
} /**复选列表对话框*/
public void listener3(View v){
AlertDialog.Builder dialog=new AlertDialog.Builder(this);
final String[] str={"王力宏","周杰伦","王菲","那英"};
final boolean[] flags={true,false,true,false};
dialog.setIcon(R.drawable.ic_launcher);//设置图标
dialog.setTitle("你喜欢的歌手是");
dialog.setMultiChoiceItems(str, flags, new DialogInterface.OnMultiChoiceClickListener() { @Override
public void onClick(DialogInterface arg0, int which, boolean isChecked) {
flags[which]=isChecked;//哪一项被选中
}
});
dialog.setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override
public void onClick(DialogInterface dialog, int which) {
String temp="你喜欢的歌手是:";
for (int i = 0; i < flags.length; i++) {
if(flags[i]){
temp+=str[i];
}
}
Toast.makeText(getApplicationContext(), temp, Toast.LENGTH_LONG).show();
}
});
dialog.create();
dialog.show();
}
@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;
} }
演示效果:
AlertDialog提示对话框练习的更多相关文章
- android中提示&对话框----AlertDialog
AlertDialog(对话框) 一.对话框的基本使用流程 step1:创建AlertDialog.Buider; step2:调用setIcon()设置图标,setTitle()或者setCusto ...
- 自己主动更新--下载apk以及提示对话框的实现(3)
下载apk以及提示对话框的实现 一.步骤: 1. 确定有能够更新的版本号,对话框提醒用户是否进行更新. 2. 选择更新的话,显示下载对话框而且进行下载.否则关闭提示更新对话框. 3. Apk下载完毕后 ...
- Android 自定义AlertDialog退出对话框
Android 自定义AlertDialog退出对话框 转 https://blog.csdn.net/wkh11/article/details/53081634在项目中很多时候会出现点击返回键出现 ...
- Ext信息提示对话框
Ext.window.MessageBox是一个工具类,他继承自Ext.window.Windoe对象,用来生成各种风格的信息提示对话框,其实例对象可以通过Ext.MessageBox或Ext.Msg ...
- PermissionDialog【权限申请提示对话框】
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 随着Android6.0的普及,权限申请也变成了我们开发中必写的一段代码.比如sd卡权限.定位权限.拍照权限,这些几乎都是每个app ...
- java基础--提示对话框的使用
java基础--提示对话框的使用 2019-03-17-00:35:50-----云林原创 一.显示信息对话框:使用“JOptionPane.showMessageDialog”显示: 图标 对话 ...
- 44. Ext信息提示对话框
转自:https://www.cnblogs.com/glsqh/p/5920500.html Ext.window.MessageBox是一个工具类,他继承自Ext.window.Windoe对象, ...
- ANDROID 系统提示对话框(ALERTDIALOG)的使用
new AlertDialog.Builder(baseActivity).setTitle("删除确认")//设置对话框标题 .setMessage("您确定要删除选中 ...
- Android学习总结——系统提示对话框(AlertDialog)
new AlertDialog.Builder(MainActivity.this).setTitle("退出")//设置对话框标题 .setMessage("官人可是要 ...
随机推荐
- centos yum 坏掉 db 损坏
#首先清除掉缓存,之后再重建就可以了 rm -f /var/lib/rpm/__db* rpm --rebuilddb 提示的错误应该是: error: rpmdb: BDB0113 Thread/p ...
- ERROR:ORA-30076: 对析出来源无效的析出字段
DEBUG:key: sql: select count(*) as col_0_0_ from jc_user cmsuser0_ where 1=1 and cmsuser0_.register_ ...
- Commons BeanUtils工具包
简介: BeanUtils工具包是由Apache公司所开发,提供对Java反射和自省API的包装.其主要目的是利用反射机制对JavaBean的属性进行处理. 我们知道,一个JavaBean通常包含了大 ...
- Ajax的简单基础
什么是 AJAX ? AJAX 是一种用于创建快速动态网页的技术. 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新. 这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行 ...
- RabbitMq知识点总结
一.RabbitMQ简介 AMQP,即Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间 ...
- 玩转vue的slot内容分发
vue的内容分发非常适合"固定部分+动态部分"的组件的场景,固定部分可以是结构固定,也可以是逻辑固定,比如下拉loading,下拉loading只是中间内容是动态的,而拉到底部都会 ...
- Luogu P3254 圆桌问题(最大流)
P3254 圆桌问题 题面 题目描述 假设有来自 \(m\) 个不同单位的代表参加一次国际会议.每个单位的代表数分别为 \(r_i (i =1,2,--,m)\) . 会议餐厅共有 \(n\) 张餐桌 ...
- consul原理
阅读目录 一.使用Consul做服务发现的若干姿势 1.https://www.cnblogs.com/bossma/p/9756809.html 阅读目录 启动第1个Server节点,集群要求要有3 ...
- HTML,CSS,JS优化
HTML部分 语义化HTML:好处在于可以使代码简洁清晰,支持不同设备,利于搜索引擎,便于团队开发: 减少DOM节点:加速页面渲染: 给图片加上正确的宽高值:这可以减少页面重绘,同时防止图片缩放: 防 ...
- 浏览器在IE8 以下时显示提示信息,提示用户升级浏览器
<!--[if lt IE 8]> <div style="background: #eeeeee;border-bottom: 1px solid #cccccc;col ...