1.DatePicker和TimePicker两种实现动态输入日期和时间的功能

2.DatePickerDialog和TimePickerDialog两种实现动态输入日期和时间的对话框

3.两组监测日期和时间改变的监听器

(1)OnDateChangedListener()和OnTimeChangedListener()

当用户更改了DatePicker里的年、月、日时,将触发OnDateChangedListener监听器的onDateChanged()事件

当用户更改了TimePicker里的时、分时,将触发OnTimeChangedListener监听器的onTimeChanged()事件

(2)OnDateSetListener()和OnTimeSetListener

当用户更改了DatePickerDialog里的年、月、日时,将触发OnDateSetListener监听器的onDateSet()事件

当用户更改了TimePickerDialog里的时、分时,将触发OnTimeSetListener监听器的onTimeSet()事件


activity_main.xml

<?xml version="1.0" encoding="utf-8"?>        

MainActivity.java

import android.app.DatePickerDialog;import android.app.TimePickerDialog;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.widget.DatePicker;import android.widget.TimePicker;import java.util.Calendar;public class MainActivity extends AppCompatActivity {    private TimePicker timePicker;    private DatePicker datePicker;    private Calendar calendar;    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);        //获取日历的一个对象        calendar = Calendar.getInstance();        //获取年月日时分的信息        year = calendar.get(Calendar.YEAR);        month = calendar.get(Calendar.MONTH)+1;        day = calendar.get(Calendar.DAY_OF_MONTH);        hour = calendar.get(Calendar.HOUR_OF_DAY);        minute = calendar.get(Calendar.MINUTE);        setTitle(year + "-" + month +  "-" + day +  "-" + hour +  "-" + minute);        datePicker = (DatePicker) findViewById(R.id.datePicker);        timePicker = (TimePicker) findViewById(R.id.timePicker);        //datePicker初始化        datePicker.init(year, month-1, day, new DatePicker.OnDateChangedListener() {            @Override            public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) {                setTitle(year + "-" + (monthOfYear+1) +  "-" + dayOfMonth);            }        });        //timePicker        timePicker.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener() {            @Override            public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {                setTitle(hourOfDay + ":" + minute);            }        });        //DatePickerDialog        new DatePickerDialog(this, new DatePickerDialog.OnDateSetListener() {            @Override            public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {                setTitle(year + "-" + (monthOfYear+1) +  "-" + dayOfMonth);            }        },year, month-1, day).show();        //TimePickerDialog        new TimePickerDialog(this, new TimePickerDialog.OnTimeSetListener() {            @Override            public void onTimeSet(TimePicker view, int hourOfDay, int minute) {                setTitle(hourOfDay + ":" + minute);            }        },hour,minute,true).show();    }}

4.注意:DatePciker对象以init()这个方法来指定DatePicker初始的年、月、日及OnDateChangedListener()的事件;而TimePicker对象则是直接以setOnTimeChangedListener()事件来处理时间改变时程序要做的操作。




更多相关文章

  1. Android(安卓)ApiDemos示例解析(20):App->Alarm->Alarm Service
  2. Android(安卓)Fragment中监听事件
  3. Android(安卓)模拟按键事件(KeyEvent)
  4. android 自定义Toast增加点击事件、Toast弹出隐藏动画、Toast宽
  5. 这些年我踩过的坑——Android
  6. Android(安卓)lbs位置服务
  7. RXJava
  8. 黑马程序员12——android之事件传播机制
  9. android appwidget 笔记

随机推荐

  1. JQuery仿最新淘宝网首页带箭头幻灯片,JQu
  2. 提交表单时需要运行php脚本
  3. CSS样式如何解决IE浏览器不同版本的兼容
  4. jquery之data()、stop()、delay()的语法
  5. 将表格单元格字体更改为粗体
  6. Angular ng-show不会根据函数返回值显示/
  7. JQuery EasyUI combotree如何得到Multipl
  8. 在中的元素的自定义子弹符号,这是一个普通
  9. 尽管referesh,jQuery格式化不适用于ajax数
  10. html中文本域选中后会出现蓝边框