DatePicker,TimePicker,DatePickerDialog以及TimePickerDialog的使用

来源:互联网 发布:网络有什么赚钱项目 编辑:程序博客网 时间:2024/05/17 22:41

注意事项:在使用DatePickerDialog和TimePickerDialog的时候必须show出来,否则不显示。

代码如下:MainActivity.java

package com.yql.datetimepicker;import java.util.Calendar;import android.os.Bundle;import android.app.Activity;import android.app.DatePickerDialog;import android.app.DatePickerDialog.OnDateSetListener;import android.app.TimePickerDialog;import android.app.TimePickerDialog.OnTimeSetListener;import android.view.Menu;import android.widget.DatePicker;import android.widget.DatePicker.OnDateChangedListener;import android.widget.TimePicker;import android.widget.TimePicker.OnTimeChangedListener;public class MainActivity extends Activity {private DatePicker dp;private TimePicker tp;private Calendar cal;private int year;private int month;private int day;private int hour;private int minute;private int second;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);dp = (DatePicker) findViewById(R.id.datePicker1);tp = (TimePicker) findViewById(R.id.timePicker1);Calendar cal = Calendar.getInstance();year = cal.get(Calendar.YEAR);month = cal.get(Calendar.MONTH)+1;day = cal.get(Calendar.DAY_OF_MONTH);//Calendar.HOUR_OF_DAY是24小时制;Calendar.HOUR是12小时制hour = cal.get(Calendar.HOUR_OF_DAY);minute = cal.get(Calendar.MINUTE);second = cal.get(Calendar.SECOND);//setTitle(year+"-"+month+"-"+day+"-"+hour+"-"+minute+"-"+second);//设置控件的初始化时间dp.init(year, cal.get(Calendar.MONTH), day, new OnDateChangedListener() {@Overridepublic void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) {//setTitle(year+"-"+(monthOfYear+1)+"-"+dayOfMonth);}});tp.setOnTimeChangedListener(new OnTimeChangedListener() {@Overridepublic void onTimeChanged(TimePicker view, int hour, int minute) {setTitle(hour+":"+minute);}});/** * callBack:选择出发的函数 * year:控件初始化年 * monthOfYear:控件初始化月 * dayOfMonth:控件初始化天 *//*new DatePickerDialog(this, new OnDateSetListener() {@Overridepublic void onDateSet(DatePicker view , int year, int monthOfYear, int dayOfMonth) {setTitle(year+"-"+(monthOfYear+1)+"-"+dayOfMonth);}}, year, cal.get(Calendar.MONTH), day).show();*/new TimePickerDialog(this, new OnTimeSetListener() {@Overridepublic void onTimeSet(TimePicker view, int hour, int minute) {setTitle(hour+":"+minute);}}, hour, minute, true).show();}}

布局文件main.xml

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical" >    <TimePicker        android:id="@+id/timePicker1"        android:layout_width="wrap_content"        android:layout_height="wrap_content" />    <DatePicker        android:id="@+id/datePicker1"        android:layout_width="wrap_content"        android:layout_height="wrap_content" /></LinearLayout>



0 0