Android下常见的四种对话框
摘要:在实际开发过程有时为了能够和用户进行很好的交互,需要使用到对话框,在Android中常用的对话框有四种:普通对话框、单选对话框、多选对话框、进度对话框。
一、普度对话框
public void click(View view)
{
//this代表MainActivity是子类 getApplicationContext代表context是父类
//对话框不能用getApplicationContext
AlertDialog.Builder builder = new AlertDialog.Builder(this);//getApplicationContext());
builder.setTitle("警告");
builder.setMessage("世界上最遥远的距离是没有网络");
builder.setPositiveButton("确定", new DialogInterface.OnClickListener()
{
@Override
public void onClick(DialogInterface dialogInterface, int i)
{
Toast.makeText(mContext, "点击了确定了按钮", Toast.LENGTH_SHORT).show();
}
});
builder.setNegativeButton("确定", new DialogInterface.OnClickListener()
{
@Override
public void onClick(DialogInterface dialogInterface, int i)
{
Toast.makeText(mContext, "点击了取消了按钮", Toast.LENGTH_SHORT).show();
}
});
builder.show();
}
二、单选对话框
public void click(View view)
{
final AlertDialog.Builder builder = new AlertDialog.Builder(this);//getApplicationContext());
builder.setTitle("请选择你喜欢的课");
final String item[] = {"android", "java", "c", "c++"};
builder.setSingleChoiceItems(item, -1, new DialogInterface.OnClickListener()
{
@Override
public void onClick(DialogInterface dialogInterface, int i)
{
String s = item[i];
Toast.makeText(mContext, s, Toast.LENGTH_SHORT).show();
dialogInterface.dismiss();
}
});
builder.show();
}
三、多选对话框
public void click(View view)
{
AlertDialog.Builder builder = new AlertDialog.Builder(this);//getApplicationContext());
builder.setTitle("请选出你喜欢的水果");
final String[] item = {"苹果", "榴莲", "荔枝", "黄瓜", "香蕉"};
final boolean[] checkChoisce = {true, false, false, false, true};
builder.setMultiChoiceItems(item, checkChoisce, new DialogInterface.OnMultiChoiceClickListener()
{
@Override
public void onClick(DialogInterface dialogInterface, int i, boolean b)
{
}
});
builder.setPositiveButton("确定", new DialogInterface.OnClickListener()
{
@Override
public void onClick(DialogInterface dialogInterface, int i)
{
Toast.makeText(mContext, "点击了确定了按钮", Toast.LENGTH_SHORT).show();
StringBuffer sb = new StringBuffer();
for (int j = 0; j < item.length; j ++)
{
if (checkChoisce[j])
{
String s = item[j];
sb.append(s);
}
}
Toast.makeText(mContext, sb.toString(), Toast.LENGTH_SHORT).show();
dialogInterface.dismiss();
}
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener()
{
@Override
public void onClick(DialogInterface dialogInterface, int i)
{
Toast.makeText(mContext, "点击了取消了按钮", Toast.LENGTH_SHORT).show();
}
});
builder.show();
}
四、进度对话框
public void click(View view)
{
//与进度相关的UI都可以在子线程更新UI
final ProgressDialog dialog = new ProgressDialog(this);
dialog.setTitle("玩命加载中");
dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
dialog.show();
new Thread(){public void run(){
for (int i = 0; i < 100; i ++)
{
SystemClock.sleep(50);
dialog.setProgress(i);
}
dialog.dismiss();
}}.start();
}
Android下常见的四种对话框的更多相关文章
- Android学习笔记_3_四种布局
Android布局是应用界面开发的重要一环,在Android中,共有四种布局方式, 分别是:FrameLayout( 帧布局 ).LinearLayout (线性布局).TableLayout(表格布 ...
- Android下常见动画
摘要:Android中常见的的动画有三种:属性动画.补间动画.帧动画. 注.因为前两种内容较多,后补 一.属性动画 二.补间动画 三.帧动画:本质是将一些连贯的图片加载形成连贯的动画效果 1.在Dra ...
- Android中Activity的四种启动模式
要了解Android的启动模式先要了解一下Activity的管理方式: 1.Activity的管理机制 Android的管理主要是通过Activity栈来进行的.当一个Activity启动时,系统根据 ...
- android 数据存储的四种方式.
Android系统一共提供了四种数据存储方式.分别是:SharePreference.SQLite.Content Provider和File.由于Android系统中,数据基本都是私有的的,都是存放 ...
- HttpRequest中常见的四种Content-Type(转)
add by zhj: Content-Type用于说明request body的编码格式的,对于没有request body的http method如GET,HEAD没有必要设置这个参数,当然,你设 ...
- android数据存取的四种方式
Android系统下有四种数据的存在形式,分别是SQLite,SharePreference,File,ContentProvider.一:特性介绍:SQLite:对于大多数开发者而言,这应该是大家非 ...
- Android的taskAffinity对四种launchMode的影响
在Android系统中,一个application的所有Activity默认有一个相同的affinity(亲密关系,相似之处).也就是说同一个应用程序的的所有Activity倾向于属于同一个task. ...
- Android中Activity的四种启动方式
谈到Activity的启动方式必须要说的是数据结构中的栈.栈是一种只能从一端进入存储数据的线性表,它以先进后出的原则存储数据,先进入的数据压入栈底,后进入的数据在栈顶.需要读取数据的时候就需要从顶部开 ...
- Robot Framework--接口测试中常见的四种POST方式
写接口测试用例时,遇到以json格式提交数据时,报错,Request如下图: Response如下图: 改成form格式提交,可以正常运行,如下图: 代码如下: ------------------- ...
随机推荐
- Eclipse中启动tomcat报错:A child container failed during start
我真的很崩溃,先是workspace崩了,费了好久重建的workspace,然后建立了一个小demo项目,tomcat中启动却报错,挑选其中比较重要的2条信息如下: A child container ...
- Microsoft.Bcl.Build 1.0.10 稳定版发布
Microsoft.Bcl.Build 1.0.10 稳定版发布 解决了之前 1.0.8 在未下载相应的Nuget Package 的情况下项目无法加载的情况 但由于 Microsoft.Net.Ht ...
- Android初涉及之Android Studio&JAVA入门--二月不能不写东西
是的,我还没有放弃写博客. 是的,我也没有放弃PHP的学习. 是的,我要开始学学最TM火的Android开发了. 你呢 1.Android Studio 一.概况 安装和配置什么的就不具体说了,网上一 ...
- java设计模式之命令模式
学校中.生活中.社会中总是会存在一定的阶层,虽然我们很多人都不可认可阶层的存在.命令这一词也就在阶层中诞生.家长命令孩子,老师命令学生,领导命令小娄娄.这些都在我们的生活存在的东西,相信这一个模式学习 ...
- ImageMagick Remote Command Execute
CVE ID: CVE-2016-3714 我挺纠结应该用中文写博客还是应该用英文写博客.英文吧作用挺明显的,可以锻炼自己的英语表达能力,但是可能会阻碍和一些英文不好的朋友交流. It's upset ...
- bzoj-4517 4517: [Sdoi2016]排列计数(组合数学)
题目链接: 4517: [Sdoi2016]排列计数 Time Limit: 60 Sec Memory Limit: 128 MBSubmit: 846 Solved: 530[Submit][ ...
- tomocat设置首次访问时的页面
怎么设置Tomcat服务器的默认首页(欢迎页) 一般做Java web开发,有时候会选择Tomcat用作服务器,我在本机开发测试用的也是Tomcat,现在有一个问题是,我们都知道当访问一个网站的时候, ...
- [No00000D]word如何批量删除超链接 怎么去掉网址保留文字
1.删除超链接的文字及网址 这种情况是想把带有网址的文字统统删掉,文字和网址一概不留. 首先在word界面按下ALT+F9(在所有的域代码及其结果间进行切换.),超链接文本会被转换成代码的样式. 例如 ...
- Android Fragment 你应该知道的一切
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/42628537,本文出自:[张鸿洋的博客] 很久以前写过两篇Fragment的介绍 ...
- Openvpn 公网访问内网
对于需要从公网访问内网的情况, 需要做如下配置 从公网到内网 除了设置net.ipv4.ip_forward = 1 以外, 还需要设置iptables, 增加两行forward # Generate ...