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("官人可是要 ...
随机推荐
- 【NOIP2016提高A组集训第14场11.12】随机游走——期望+树形DP
好久没有写过题解了--现在感觉以前的题解弱爆了,还有这么多访问量-- 没有考虑别人的感受,没有放描述.代码,题解也写得歪歪扭扭. 并且我要强烈谴责某些写题解的代码不打注释的人,像天书那样,不是写给普通 ...
- E: 无法获得锁 /var/lib/apt/lists/lock - open (11: 资源暂时不可用) E: 无法对目录 /var/lib/apt/lists/ 加锁 问题解决方法
使用Ubuntu16.04安装软件执行apt-get update时出现如下错误: E: 无法获得锁 /var/lib/apt/lists/lock - open (11: 资源暂时不可用) E: 无 ...
- JavaSE_02_Thread类01
1.1 并发与并行 并发:指两个或多个事件在同一个时间段内发生. 这在单 CPU 系统中,每一时刻只能有一道程序执行,即微观上这些程序是分时的交替运行,只不过是给人的感觉是同时运行,那是因为分时交替运 ...
- node.js 安装步骤
1.打开链接(http://nodejs.cn/download/) 2.下载自己所需的安装包(32位 or 64位.哪个系统) 3.双击直接安装(成功如下图) 4.点击 Node.js comman ...
- 60行JavaScript代码俄罗斯方块
教你看懂网上流传的60行JavaScript代码俄罗斯方块游戏 早就听说网上有人仅仅用60行JavaScript代码写出了一个俄罗斯方块游戏,最近看了看,今天在这篇文章里面我把我做的分析整理一下( ...
- boxFilter in opencv
, -),bool normalize=true,int borderType=BORDER_DEFAULT) Smoothes image using box filter Parameters: ...
- python-pygame安装教程
网上有很多关于python,pygame的安装教程.大都比较麻烦,下面为大家介绍一种非常简单的安装方法.(因为安装大都是新手教程写详细一些) python是32位 python是3.6 1 pip配置 ...
- No module named 'sklearn.impute',更新scikit-learn
-------我错了,本篇作废,我把自己的包更新坏了,大家不要往下看了------------------最终我是把anaconda卸载重装的--------- 使用scikit-learn模块进行缺 ...
- Gym - 102163M
Gym - 102163M https://vjudge.net/problem/2356949/origin取对数,然后特判特殊情况,就是0的那些情况 #include<iostream> ...
- Apache Flink 1.9重磅发布!首次合并阿里内部版本Blink重要功能
8月22日,Apache Flink 1.9.0 版本正式发布,这也是阿里内部版本 Blink 合并入 Flink 后的首次版本发布.此次版本更新带来的重大功能包括批处理作业的批式恢复,以及 Tabl ...