Android开发手记(9) DatePickerDialog 和 TimePickerDialog
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的更多相关文章
- Android 开发手记一NDK编程实例
在Android上,应用程序的开发,大部分基于Java语言来实现.要使用c或是c++的程序或库,就需要使用NDK来实现.NDK是Native Development Kit的简称.它是一个工具集,集成 ...
- 【Android】6.4 DatePickerDialog和TimePickerDialog
分类:C#.Android.VS2015: 创建日期:2016-02-08 一.简介 在Android应用中,日期选择对话框和时间选择对话框是分别提供的. 日期选择对话框(DatePickerDial ...
- Android开发手记(28) Handler和Looper
Android的消息处理有三个核心类:Looper,Handler和Message.其实还有一个Message Queue(消息队列),但是MQ被封装到Looper里面了,我们不会直接与MQ打交道.平 ...
- Android开发手记(24) Log的使用及颜色的更改
在程序开发过程中,LOG是广泛使用的用来记录程序执行过程的机制,它既可以用于程序调试,也可以用于产品运营中的事件记录.在Android系统中,提供了简单.便利的LOG机制,开发人员可以方便地使用.本文 ...
- android开发里跳过的坑——TimePickerDialog onTimeSet不回调
在android6.0.1上测试发现TimePickerDialog的onTimeSet和DatePickerDialog的onDateSet不回调,查看SDK源码发现,TimePickerDialo ...
- Android开发手记(22) 传感器的使用
Android的传感器主要包括八大传感器,他们分别是:加速度传感器(accelerometer).陀螺仪(gyroscope).方向传感器(orientation).磁力传感器(magnetic fi ...
- Android开发手记(18) 数据存储三 SQLite存储数据
Android为数据存储提供了五种方式: 1.SharedPreferences 2.文件存储 3.SQLite数据库 4.ContentProvider 5.网络存储 SQLite 是以嵌入式为目的 ...
- Android开发手记(17) 数据存储二 文件存储数据
Android为数据存储提供了五种方式: 1.SharedPreferences 2.文件存储 3.SQLite数据库 4.ContentProvider 5.网络存储 本文主要介绍如何使用文件来存储 ...
- Android开发手记(32) 使用摄像头拍照
在Android中,使用摄像头拍照一般有两种方法, 一种是调用系统自带的Camera,另一种是自己写一个摄像的界面. 我们要添加如下权限: <uses-permission android:na ...
随机推荐
- select 1 from table where的作用?
"SELECT 1 FROM identity_approve WHERE identity_num=' " . trim($_POST['IDnumber']) . " ...
- 工具函数之JS
1. 判断元素是否有滚动条 /* 检测元素是否出现滚动条 @param [object HTMLElement] elm The HTMLElement object @return [Object] ...
- sql如何向一个表中批量插入大量数据
--如果是一个表插入另外一个表.insert into tb1 需要的列名 select 按照前面写上需要的列名 from tb2 --如果两表结构一样.insert into tb1 * selec ...
- Python实现ID3算法
自己用Python写的数据挖掘中的ID3算法,现在觉得Python是实现算法的最好工具: 先贴出ID3算法的介绍地址http://wenku.baidu.com/view/cddddaed0975f4 ...
- php通过curl实现bigpipe
BigPipe是facebook发明的一种页面加载技术.其实也不是什么新技术了,也有很多文章进行说明.但是在网上,具体讲如何使用php实现bigpipe的文章很少,并且有些文章还不很准确.bigpip ...
- X-SCAN扫描器插件(MYSQL弱口令以及Mongodb未授权)
因为在很多时候的内网扫描里面没有授权的WIN的好用的,稍微小点的弱口令扫描器(生成报告,多种服务),编译成了插件,再自己弄了个MONGODB的扫描插件用着. X-SCAN加载以后: MONGODB.p ...
- 转:PHP教程之PHP调用session_start后页面始终加载的问题研究
今天群里有朋友说他的遇到一个有趣的问题: 一个PHP页面的执行时间比较长(15秒左右),而只要这个页面没有执行完毕,其他的页面访问都是长时间加载状态,只有那个页面执行完毕了,剩下的页面才能打开. 这是 ...
- sphinx coreseek SetSortMode(SPH_SORT_ATTR_ASC, '') 对float 排序设置bug
when I use SetSortMode(SPH_SORT_ATTR_ASC, 'floatVar'), it works unexpectedly. for example, I have a ...
- 【转】Could not write file XXX\.classpath解决
原文网址:http://www.sjsjw.com/kf_other/article/323_11877_12218.asp 环境 MyEclipse 8.6 + Windows 7 Ultimate ...
- Binary Tree Level Order Traversal II——LeetCode
Given a binary tree, return the bottom-up level order traversal of its nodes' values. (ie, from left ...