文档章节

系统日历

p
 passengers
发布于 2017/07/07 16:47
字数 466
阅读 2
收藏 0

一、当前时间的获取与日历并不复杂,我们只需要通过Calendar来获取当前时间,然后定义出DatePickerDialog(日历对话框),在里面添加我们所需要的事件而已。(这个类会调用系统自己的日历) 二、在xml布局文件中设置一个按钮,用来触发显示日历的点击事件 <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/mainDateButton" android:textSize="25dp" android:hint="点击修改生日"/> 注意:最好不要在这里设置它的Text,因为我们后面需要通过它的Text来进行判断 三、java代码 public class MainActivity extends Activity {

Button button;
String birthday = "";	//这个变量是用来存放Button里面的Text值得

[@Override](https://my.oschina.net/u/1162528)
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    button= (Button) this.findViewById(R.id.mainDateButton);
    if(button.getText().length()==0){
        birthday = "1990-1-1";
    }	//如果在xml文件中设置Text,就会导致不管将日期设置为多少,Button上面都会将它初始化,所以我们需要在这里判断,并手动赋值
    button.setText(birthday);
    button.setOnClickListener(new View.OnClickListener() {
        [@Override](https://my.oschina.net/u/1162528)
        public void onClick(View v) {
            try {
                Calendar calendar =Calendar.getInstance();   //获取当前时间
                SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd");
                Date date = simpleDateFormat.parse(birthday); //设置显示日期的格式
                calendar.setTime(date);

                final DatePickerDialog pickerDialog = new DatePickerDialog( MainActivity.this, null,
                        calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH));//重点:日历对话框

                pickerDialog.setButton(DialogInterface.BUTTON_POSITIVE, "完成", new DialogInterface.OnClickListener() {	//对话框的点击事件
                    [@Override](https://my.oschina.net/u/1162528)
                    public void onClick(DialogInterface dialog, int which) {
                        DatePicker datePicker = pickerDialog.getDatePicker();
		//拿到日期选择器
                        int year = datePicker.getYear();
                        int month = datePicker.getMonth() + 1;	//因为日期是从一月开始的,而月份的获取是从0开始的,所以这里需要 +1
                        int day = datePicker.getDayOfMonth();

                        birthday = String.format("%d-%d-%d", year, month, day);
                        button.setText(birthday);	//设置完以后,将新的日期放入变量中,并保存在Button里的Text值里面。
                    }
                });

                pickerDialog.setButton(DialogInterface.BUTTON_NEGATIVE, "取消", new DialogInterface.OnClickListener() {
                    [@Override](https://my.oschina.net/u/1162528)
                    public void onClick(DialogInterface dialog, int which) { } });

                pickerDialog.show();

            } catch (ParseException e) {
                Log.i("lzz","创建失败");
                e.printStackTrace();
            }
        }
    });

}

}

© 著作权归作者所有

共有 人打赏支持
p
粉丝 0
博文 7
码字总数 2822
作品 0
长沙
私信 提问
使用 EventKit 向系统日历中添加事件

使用 EventKit 向系统日历中添加事件 本文主要内容是如何一步一步使用在iOS设备中添加日历,并在日历中添加事件和提醒事项。 源代码Github 类和属性 EKAlarm 提醒操作类 类用于提供操作系统日...

秋刀生鱼片
2017/06/05
0
0
android 给系统日历插入提醒事件问题

如题: 用户在app其他界面填写内容插入提醒事件没有问题,系统日历也会显示事件,但是在登录界面登录成功后获取接口数据创建日历提醒事件时日志提示成功,系统日历里事件没有显示,第二次再登...

虚无小飞
2016/03/26
1K
1
企业级日历系统--bedework

Bedework (发音 "beadwork")是一个开放源码的企业日历系统。Bedework支持个人,公众和团体活动。它使用现有的开放标准,并支持基于Web和其他形式的访问,包括CalDAV和门户集成。它的设计遵循...

匿名
2016/03/21
800
2
Java 日期时间处理库 - Joda-Time

JodaTime 提供了一组Java类包用于处理包括ISO8601标准在内的date和time。可以利用它把JDK Date和Calendar类完全替换掉,而且仍然能够提供很好的集成。 Joda-Time主要的特点包括: 1. 易于使用...

匿名
2008/11/01
0
7
Calendar类点点滴滴积累

set(f, value) 将日历字段 f 更改为 value。此外,它设置了一个内部成员变量,以指示日历字段 f 已经被更改。尽管日历字段 f 是立即更改的,但是直到下次调用 get()、getTime()、getTimeInMi...

杨昊亚
2012/10/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Spark in action on Kubernetes - Playground搭建与架构浅析

前言 Spark是非常流行的大数据处理引擎,数据科学家们使用Spark以及相关生态的大数据套件完成了大量又丰富场景的数据分析与挖掘。Spark目前已经逐渐成为了业界在数据处理领域的行业标准。但是...

阿里云官方博客
5分钟前
0
0
小白大数据学习路线

学习大数据首先了解大数据技术得板块划分: 数据计算(离线计算):Hadoop、spark 数据计算(实时计算):storm、spartstreaming、flink 其他框架:zookeeper 数据采集:flume、Kafka 数据存...

董黎明
18分钟前
0
0
mariadb 内存占用优化

本文由云+社区发表 作者:工程师小熊 摘要:我们在使用mariadb的时候发现有时候不能启动起来,在使用过程中mariadb占用的内存很大,在这里学习下mariadb与内存相关的配置项,对mariadb进行调...

腾讯云加社区
今天
2
0
spring security 自定义登录认证

spring security 自定义认证登录 1.概要 1.1.简介 spring security是一种基于 Spring AOP 和 Servlet 过滤器的安全框架,以此来管理权限认证等。 1.2.spring security 自定义认证流程 1)认证...

EasyProgramming
今天
1
0
Win下Jenkins-2.138源码编译及填坑笔记

源码编译篇 1、 安装JDK1.8-181,操作系统添加JDK环境变量。Java -version验证一下。 注:Jenkins2.138版本,JDK必须jkd1.8.0-101以上,不支持Java9,Maven必须3.5.3以上。 2、 解压Maven3....

编程SHA
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部