1、DatePickerDialog 

  用于获取用户输入的日期信息。其原型为:

public DatePickerDialog(Contex contex, DatePickerDialog.OnDateSetListener callback, int year, int month, int day);

  其中,year,month,day是传递给DatePickerDialog的初始值信息,然后通过OnDateSetListener来设置用户选择的日期。

  DatePickerDialog dpDlg = new DatePickerDialog(MainActivity.this, new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker datePicker, int i, int i1, int i2) {
year = i;
month = i1;
day = i2;
tvDate.setText(year + "-" + month + "-" + day);
}
},year,month,day);

  

  完整代码为:

 import android.app.DatePickerDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.TextView; import java.util.Calendar;
import java.util.Date;
import java.util.Locale; public class MainActivity extends AppCompatActivity { private TextView tvDate;
private Button btnDateDlg;
private int year;
private int month;
private int day; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); tvDate = (TextView) findViewById(R.id.textView);
btnDateDlg = (Button) findViewById(R.id.button);
Calendar myCalendar = Calendar.getInstance(Locale.CHINA);
Date date = new Date();
myCalendar.setTime(date); year = myCalendar.get(Calendar.YEAR);
month = myCalendar.get(Calendar.MONTH);
day = myCalendar.get(Calendar.DAY_OF_MONTH);
tvDate.setText(year + "-" + month + "-" + day);
btnDateDlg.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
DatePickerDialog dpDlg = new DatePickerDialog(MainActivity.this, new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker datePicker, int i, int i1, int i2) {
year = i;
month = i1;
day = i2;
tvDate.setText(year + "-" + month + "-" + day);
}
},year,month,day);
dpDlg.show();
}
}); } }

2、TimePickerDialog 

  用于获取用户输入的日期信息。其原型为:

public TimePickerDialog(Contex contex, TimePickerDialog.OnTimeSetListener callback, int hour, int minute, boolean is24Hours);

  其中,hour,minute是传递给TimePickerDialog的初始值信息,is24Hours表示是否为24小时制,然后通过OnTimeSetListener来设置用户选择的日期。

 TimePickerDialog tpDlg = new TimePickerDialog(MainActivity.this, new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker timePicker, int i, int i1) {
hour = i;
minute = i1;
tvTime.setText(year + "-" + month + "-" + day + " " + hour + ":" + minute);
}
},hour, minute,true);
tpDlg.show();

  

  完整代码为:

 import android.app.TimePickerDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.TimePicker; import java.util.Calendar;
import java.util.Date;
import java.util.Locale; public class MainActivity extends AppCompatActivity { private TextView tvTime;
private Button btnTimeDlg;
private int year;
private int month;
private int day;
private int hour;
private int minute; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); tvTime = (TextView) findViewById(R.id.textView);
btnTimeDlg = (Button) findViewById(R.id.button);
Calendar myCalendar = Calendar.getInstance(Locale.CHINA);
Date date = new Date();
myCalendar.setTime(date); year = myCalendar.get(Calendar.YEAR);
month = myCalendar.get(Calendar.MONTH);
day = myCalendar.get(Calendar.DAY_OF_MONTH);
hour = myCalendar.get(Calendar.HOUR);
minute = myCalendar.get(Calendar.MINUTE);
tvTime.setText(year + "-" + month + "-" + day + " " + hour + ":" + minute);
btnTimeDlg.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
TimePickerDialog tpDlg = new TimePickerDialog(MainActivity.this, new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker timePicker, int i, int i1) {
hour = i;
minute = i1;
tvTime.setText(year + "-" + month + "-" + day + " " + hour + ":" + minute);
}
},hour, minute,true);
tpDlg.show();
}
}); } }

Android开发手记(9) DatePickerDialog 和 TimePickerDialog的更多相关文章

  1. Android 开发手记一NDK编程实例

    在Android上,应用程序的开发,大部分基于Java语言来实现.要使用c或是c++的程序或库,就需要使用NDK来实现.NDK是Native Development Kit的简称.它是一个工具集,集成 ...

  2. 【Android】6.4 DatePickerDialog和TimePickerDialog

    分类:C#.Android.VS2015: 创建日期:2016-02-08 一.简介 在Android应用中,日期选择对话框和时间选择对话框是分别提供的. 日期选择对话框(DatePickerDial ...

  3. Android开发手记(28) Handler和Looper

    Android的消息处理有三个核心类:Looper,Handler和Message.其实还有一个Message Queue(消息队列),但是MQ被封装到Looper里面了,我们不会直接与MQ打交道.平 ...

  4. Android开发手记(24) Log的使用及颜色的更改

    在程序开发过程中,LOG是广泛使用的用来记录程序执行过程的机制,它既可以用于程序调试,也可以用于产品运营中的事件记录.在Android系统中,提供了简单.便利的LOG机制,开发人员可以方便地使用.本文 ...

  5. android开发里跳过的坑——TimePickerDialog onTimeSet不回调

    在android6.0.1上测试发现TimePickerDialog的onTimeSet和DatePickerDialog的onDateSet不回调,查看SDK源码发现,TimePickerDialo ...

  6. Android开发手记(22) 传感器的使用

    Android的传感器主要包括八大传感器,他们分别是:加速度传感器(accelerometer).陀螺仪(gyroscope).方向传感器(orientation).磁力传感器(magnetic fi ...

  7. Android开发手记(18) 数据存储三 SQLite存储数据

    Android为数据存储提供了五种方式: 1.SharedPreferences 2.文件存储 3.SQLite数据库 4.ContentProvider 5.网络存储 SQLite 是以嵌入式为目的 ...

  8. Android开发手记(17) 数据存储二 文件存储数据

    Android为数据存储提供了五种方式: 1.SharedPreferences 2.文件存储 3.SQLite数据库 4.ContentProvider 5.网络存储 本文主要介绍如何使用文件来存储 ...

  9. Android开发手记(32) 使用摄像头拍照

    在Android中,使用摄像头拍照一般有两种方法, 一种是调用系统自带的Camera,另一种是自己写一个摄像的界面. 我们要添加如下权限: <uses-permission android:na ...

随机推荐

  1. 希尔排序(Shell's Sort)的C语言实现

    原创文章,转载请注明来自钢铁侠Mac博客http://www.cnblogs.com/gangtiexia 希尔排序(Shell's Sort)又称“缩小增量排序”(Diminishing Incre ...

  2. HDU1276(士兵队列训练模拟与链表)

    HDU1276 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u   Descripti ...

  3. mongodb教程二

    MongoDB 创建数据库: MongoDB 创建数据库的语法格式如下: use DATABASE_NAME 如果数据库不存在,则创建数据库,否则切换到指定数据库. 如果你想查看所有数据库,可以使用  ...

  4. C++访问权限【原创】

    可以访问private的有:1.本类的函数:2.友元函数.   可以访问protected的有:1.本类的函数:2.子类函数:3.友元函数.   可以访问public的有:1.本类的函数和对象:2.子 ...

  5. About Technology Research

    做了大量的了解(research).尝试(experimental).探索(exploration).摸索(groping); 解决方案的选择时,要做前期的调研和Demo尝试. 对各方面的技术都做了一 ...

  6. cf B. Inna and Nine

    http://codeforces.com/contest/374/problem/B #include <cstdio> #include <cstring> #includ ...

  7. AnimationDrawable 资源

    AnimationDrawable代表一个动画,Android 既支持传统的逐帧动画(类 似于电影方式,一张图片.一张图片地切换),也支持通过平移.变换计算出来的补间动画. 下面以补间动画为例来介绍如 ...

  8. 项目mysql数据导入数据的Java程序

    最近写的一个数据库导入数据的程序,有兴趣的同学可以参考一下: 这个程序是针对mysql数据库的,在本地或服务器上运行,主要的需求还是,针对项目的某些bug修复 后,客户的数据要搬到新表上来,避免新版本 ...

  9. Ubuntu 14.04 升级后 VPN 无法连接的问题

    如果不知道怎么配置 VPN Server(IPSEC + L2TP),可以看这篇文章(英文). 问题表现: 将 Ubuntu 12.04 通过自动更新 —— do-release-upgrade —— ...

  10. sql存储过程的创建

    一:没有参数的存储过程 CREATE PROCEDURE select_all AS BEGIN SELECT * from T_login1 END GO 二:带参数的存储过程 CREATE PRO ...