当前位置: 首页 > 编程日记 > 正文

Android提示框与通知的使用

1.通知

Android 3.0以前使用的方法

1             NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
2             Notification notification = new Notification(R.drawable.dss,
3                     "通知到了", System.currentTimeMillis());
4             notification.flags = Notification.FLAG_AUTO_CANCEL;
5             Intent intent = new Intent();
6             PendingIntent contentIntent = PendingIntent.getActivity(this, 0,
7                     intent, 0);
8             notification.setLatestEventInfo(this, "标题", "内容", contentIntent);
9             nm.notify(0, notification);

替代方法

 1             Intent intent = new Intent();
 2             PendingIntent contentIntent = PendingIntent.getActivity(this, 0,
 3                     intent, 0);
 4             Notification noti = new Notification.Builder(this)
 5                     .setTicker("通知到了")
 6                     .setContentTitle("标题")
 7                     .setContentText("内容")
 8                     .setAutoCancel(true)
 9                     .setContentIntent(contentIntent)
10                     .setSmallIcon(R.drawable.dss)
11                     .setLargeIcon(
12                             BitmapFactory.decodeResource(getResources(),
13                                     R.drawable.dss)).build();
14             NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
15             nm.notify(0, noti);

2.对话框

 1             AlertDialog.Builder builder = new AlertDialog.Builder(this);
 2             builder.setTitle("对话框标题");
 3             builder.setMessage("对话框内容");
 4             builder.setPositiveButton("确定", new OnClickListener() {
 5                 @Override
 6                 public void onClick(DialogInterface dialog, int which) {
 7                     //Toast.makeText(getApplicationContext(), "确定被点击了", Toast.LENGTH_SHORT).show();
 8                 }
 9             });
10             builder.setNegativeButton("取消", new OnClickListener() {
11                 @Override
12                 public void onClick(DialogInterface dialog, int which) {
13                     //Toast.makeText(getApplicationContext(), "确定被点击了", Toast.LENGTH_SHORT).show();
14                 }
15             });
16             //禁止响应返回键
17             builder.setCancelable(false);
18             builder.create().show();

3.单选对话框

 1             AlertDialog.Builder builder = new AlertDialog.Builder(this);
 2             builder.setTitle("请选择:");
 3             final String[] items = {"喜欢", "不喜欢"};
 4             builder.setSingleChoiceItems(items, 0, new OnClickListener() {
 5                 @Override
 6                 public void onClick(DialogInterface dialog, int which) {
 7                     //单击后退出单选对话框
 8                     dialog.dismiss();
 9                 }
10             });
11             builder.create().show();


4.多选对话框

 1             AlertDialog.Builder builder = new AlertDialog.Builder(this);
 2             builder.setTitle("请选择你最爱吃的水果");
 3             final String[] items={"苹果","梨","菠萝","香蕉","黄瓜"};
 4             final boolean[] result =new boolean[]{true,false,true,false,false};
 5             builder.setMultiChoiceItems(items, result, new OnMultiChoiceClickListener() {
 6                 @Override
 7                 public void onClick(DialogInterface dialog, int which, boolean isChecked) {
 8                     //Toast.makeText(getApplicationContext(), items[which]+isChecked, 0).show();
 9                     result[which] = isChecked;
10                 }
11             });
12             builder.setPositiveButton("提交", new OnClickListener() {
13                 @Override
14                 public void onClick(DialogInterface dialog, int which) {
15                     StringBuffer sb = new StringBuffer();
16                     for(int i=0;i<result.length;i++){
17                         //if(result[i]){
18                         //    sb.append(" " + items[i]);
19                         //}
20                     }
21                     //Toast.makeText(getApplicationContext(), "您选中了"+sb.toString(), 0).show();
22                 }
23             });
24             builder.show();//作用同 builder.create().show();

5.带进度条的对话框

 1             final ProgressDialog pd = new ProgressDialog(this);
 2             pd.setTitle("警告");
 3             pd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
 4             pd.setMax(100);
 5             pd.setMessage("正在处理数据,请稍等。。。");
 6             pd.show();
 7             new Thread(){
 8                 public void run() {
 9                     for(int i = 0;i<100;i++){
10                         try {
11                             Thread.sleep(40);
12                         } catch (InterruptedException e) {
13                             e.printStackTrace();
14                         }
15                         pd.setProgress(i);
16                     }
17                     pd.dismiss();
18                 };
19             }.start();

转载于:https://www.cnblogs.com/diysoul/p/3971055.html

相关文章:

nginx安全日志分析脚本的编写

https://blog.csdn.net/nextdoor6/article/details/51914966

[转]笑死人的考试填空

高考完后又是中考&#xff0c;考题千奇百怪&#xff0c;答卷也五花八门。真佩服现在的学生啊&#xff0c;思维跳脱&#xff0c;天马行空&#xff0c;和我们那时候的循规蹈矩&#xff0c;差别太大了&#xff0c;呵呵。看一组语文试卷中的填空题&#xff1a;1.__________&#xf…

1033 旧键盘打字

1. 非常奇怪&#xff0c;明明都说了用下划线替代空格&#xff0c;但是用scanf读入的时候就会有1个测试点没通过&#xff0c;换成cin.getline就通过了 2.3种情况下对应的哈希表赋值为true。1是上来就赋值&#xff0c;2是对于大写字母把对应小写字母也赋值&#xff0c;这里注意直…

OLE 操作Excel 详解(转)

使用Excel模板进行报表的开发. 今年搞的Excel比较多&#xff0c;总结了一下&#xff0c;相信常用的操作包含的差不多了。 可以首先定义一个无内容的Excel报表模板文件. 通过Tcode SMW0 上传至SAP数据库中备用.(注: Web对象应该选择’WebRFC 应用程序的二进制数据’) 开发程序…

只需3分钟,就能轻松创建 一个SpreadJS的React项目

概述SpreadJS 纯前端表格控件 V11.2(SP2) 已经全面支持了 React 的拓展。接下来我们看下如何利用3分钟快速创建一个 SpreadJS 的 React 项目。1.新建React 项目&#xff08;耗时 1 Min&#xff09;直接运行&#xff1a;npx create-react-app react-spread-sheets还不清楚什么是…

1039 到底买不买

很典型的散列题&#xff0c;对于shop和eva有的珠子(即字符)&#xff0c;各开一个128长度的整形散列表计数&#xff0c;将字符作为下标读入。 然后从0~127进行遍历&#xff0c;看每个下标下两个散列表的数量&#xff0c;如果有shop<eva说明不买&#xff0c;但是遍历仍然要继…

什么是Linq

最近一直利用业余的时间来研究Linq&#xff0c;估计这样的文章在对于园子里很多牛人来说就有点小儿科了&#xff0c;前段时间写了一个Linq To Sql体验的小例子&#xff0c;感觉很简洁程序上操作体验不错&#xff0c;我写这些的文章目的是自我学习笔记的备用和查看&#xff0c;当…

OSS正式支持IPv6公测

背景 6月20日阿里云宣布全面支持IPv6&#xff0c; 随后阿里云开放对象存储OSS也逐步开始向用户公测。 公测步骤 正常使用IPv6服务&#xff0c;除了OSS端支持还需要客户端支持&#xff0c;我们做一些检查证明客户端具备访问 IPv6的能力&#xff0c;再使用OSS SDK或工具通过IPv6 …

C++中定义类的对象:用new和不用new的区别

Point p1; Point *p2new Point(); p1 由系统创建并释放&#xff0c;不用担心会出现内存泄露&#xff0c;但是生命期只有在本区域的大括号内&#xff0c;出了大括号就没用了。 P2 是指针&#xff0c;要自己释放&#xff0c;用不好很危险&#xff0c;用好了功能强大&#xff0c;…

1043 输出PATest

开一个长度为6的整型数组分别记录6个字符的数量&#xff0c;输出的时候条件是数组中至少存在一个不为零的元素 while(PATest[0]||PATest[1]||PATest[2]||PATest[3]||PATest[4]||PATest[5]){//当6个还有一个不为0 AC代码 #include<cstdio> #include<cmath> #inc…

[转载 js] YUI解决mouseout事件冒泡的办法

原文出处&#xff1a;http://design.alibaba-inc.com/?qnode/727&#xff1d;&#xff1d;&#xff1d;&#xff1d;&#xff1d;&#xff1d;&#xff1d;&#xff1d;&#xff1d;&#xff1d;&#xff1d;&#xff1d;&#xff1d;&#xff1d;&#xff1d;&#xff1d;&am…

adodb.RecordSet的属性和方法

为了更精确地跟踪数据&#xff0c;要用RecordSet组件创建包括数据的游标&#xff0c;游标就是储存在内存中的数据&#xff1a; rs Server.CreateObject("ADODB.RecordSet") rs.Open(sqlStr,conn,1,A) 注&#xff1a;A1表示读取数据&#xff1b;A3表示新增、改动或删…

给女友讲讲设计模式——适配器模式(JAVA实例)5

前言 有这样一个人&#xff0c;看到别人一个个开餐馆赚了好多钱&#xff0c;于是自己也很想在餐饮业这方面大展拳脚&#xff0c;他从别人那里学到了他们的理念&#xff0c;还学习到了他们真正开店的经验。不但如此&#xff0c;他还引进了除了吃饭意外其他的服务&#xff0c;例如…

1041 Be Unique

1.依旧是散列题&#xff0c;开一个整形的哈希数组bets[10010]来计数&#xff0c;最后数目为1的&#xff0c;也就是unique 2.注意&#xff0c;可能为1的不止一个&#xff0c;要输出第一个输入的unique&#xff0c;那么需要记录下读入的顺序&#xff0c;可以开辟一个数组inputs[…

SWT图像处理入门

SWT图像处理入门 Standard Widget Toolkit ( SWT &#xff0c;标准窗口小部件工具箱)&#xff0c;是在 Eclipse 平台上使用的窗口小部件工具箱&#xff0c;它能向开发者提供和本机平台一致的用户界面和比较稳定的性能&#xff0c;也提供了强大的图像处理功能。本文首先介绍 SWT…

MyEclipse中的快捷键

MyEclipse 快捷键1(CTRL)-------------------------------------Ctrl1 快速修复CtrlD: 删除当前行 CtrlQ 定位到最后编辑的地方 CtrlL 定位在某行 CtrlO 快速显示 OutLine CtrlT 快速显示当前类的继承结构 CtrlW 关闭当前Editer CtrlK 快速定位到下一个 CtrlE 快速显示当…

CocoaPods原理(一)

CocoaPods介绍 CocoaPods 是开发 OS X 和 iOS 应用程序的一个第三方库的依赖管理工具。利用 CocoaPods&#xff0c;可以定义自己的依赖关系 (称作 pods)&#xff0c;并且随着时间的变化&#xff0c;以及在整个开发环境中对第三方库的版本管理非常方便。 CocoaPods 背后的理念主…

1055 The World‘s Richest

开始的做法是&#xff0c;对于每一个case&#xff0c;都在整个person数组内进行遍历&#xff0c;把所有年龄符合要求的都放进一个临时数组&#xff0c;然后对临时数组进行排序&#xff0c;再根据要求的数目输出。但是这么做会有一个测试用例因为超时而通不过。 穷则思变。于是…

IOS时间传递机制简记

事件传递顺序&#xff1a;自定义View -- > UIview --> RootViewController --> UIWindow -->UIApplication -->Appdelegate -->nil 注&#xff1a; //分发事件&#xff0c;将当前的触摸事件分发给当前对象的下一个响应者 //如果当前对象处理了当前事件&am…

HDOJ2270(How Many Friends Will Be Together With You)

#include <iostream>using namespacestd;const int MAX 1000005;intfr[MAX];intmain(){ int n, i, tt, sum; while(cin>>n) { for(i 1; i < n; i) fr[i] i;//初始化&#xff0c;一开始每个都是独立的&#xff0c;并无朋友 …

在linux环境下重启oracle数据库,解决密码过期的问题

&#xff08;1&#xff09; 以oracle身份登录数据库&#xff0c;命令&#xff1a;su – oracle &#xff08;2&#xff09; 进入Sqlplus控制台&#xff0c;命令&#xff1a;sqlplus /nolog &#xff08;3&#xff09; 以系统管理员登录&#xff0c;命令&#xff1a;connect /as…

1075 PAT Judge

1. 这一题一开始&#xff0c;为了同一个人的数据更新得方便&#xff0c;我把id从字符串转化成整数&#xff0c;作为数组下标&#xff0c;但是注意了&#xff0c;每个学生还是要有字符串的id属性(根据下标得到)&#xff0c;因为后面一旦排序&#xff0c;数组下标就毫无意义了。 …

MySQL 错误代码和消息

本章列出了当你用任何主机语言调用MySQL时可能出现的错误。首先列出了服务器错误消息。其次列出了客户端程序消息。 B.1. 服务器错误代码和消息 服务器错误信息来自下述源文件&#xff1a; 错误消息信息列在share/errmsg.txt文件中。“%d”和“%s”分别代表编号和字符…

一步步学习汇编(8)之指令

要理解ret,retf&#xff0c;call指令&#xff0c;必须要先理清以下汇编基础知识&#xff1a; 一&#xff0e; [bx]和内存单元<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />[bx]是什么呢&#xff1f; 和[0]有些类似…

【转】不分主副卡!全网通5.0时代到来

全网通在今天已经不是噱头了&#xff0c;它经历了有5年时间&#xff0c;从过去的全网通1.0到现在的全网通5.0&#xff0c;可以说有这长足的发展。今年&#xff0c;小米率先了支持全网通5.0的小米MIX 2S和红米Note5&#xff0c;可以双卡双待4G&#xff0c;一边打电话一边打游戏不…

1048 Find Coins(散列解法)

1. 开始测试点3答案错误&#xff0c;看参考书发现是&#xff0c;读题时根据硬币最大面值500设置的数组大小&#xff0c;但是后来会用总面值减去硬币面值&#xff0c;这个大小在[1,999)&#xff0c;因此散列表的大小应该设为1010。 2. 学会了一个小技巧。main函数可以不止一处r…

简单ThreadPool实现

由于最近需要用多线程处理一些问题&#xff0c;一开始我用了.net默认的ThreadPool&#xff0c;感觉不是很适合。于是我自己实现了一个简单的ThreadPool。 写的比较简单&#xff0c;有兴趣的朋友一起看看&#xff0c;共同改进。 代码主要由ThreadPoolEx,WorkItem,WorkQueue组成。…

CSS中强大的EM

使用CSS也好久了&#xff0c;但一直都是在使用“px”来设置Web元素的相关属性&#xff0c;未敢使用“em”。主要原因是&#xff0c;对其并不什么了解&#xff0c;只知道一点概念性的东西&#xff0c;前段时间在项目中要求使用“em”作为单位设置元素&#xff0c;所以从头对“em…

16.1、python初识面向对象(1)

初识面向对象 楔子 你现在是一家游戏公司的开发人员&#xff0c;现在需要你开发一款叫做<人狗大战>的游戏&#xff0c;你就思考呀&#xff0c;人狗作战&#xff0c;那至少需要2个角色&#xff0c;一个是人&#xff0c; 一个是狗&#xff0c;且人和狗都有不同的技能&#…

1080 Graduate Admission

1.因为这道题第一次认真想了高考录取的规则&#xff0c;对学生按照先总分再gE的原则进行从高到低排序&#xff0c;排名允许重复。再按照排名高到低对每个学生的每个志愿进行遍历&#xff0c;当一个学生处理完&#xff0c;再进行下一个。 2.由于最后是要输出学生的原始序号&…