首页 > 代码库 > Android学习之------DatePicker和TimePicker

Android学习之------DatePicker和TimePicker

在Android开发的应用程序中,通常都会有时间和日期选择的需求,下面就对日期选择控件DatePicker和时间选择控件TimePicker的基本使用方法进行介绍:
        DatePicker是一个日期选择控件,它继承自FrameLayout类,用来实现的主要功能是使用护可以方便选择日期。如果要捕获用户修改DataPicker控件中的数据改变事件,需要为DatePicker添加OnDateChangedListener监听器。
        TimePicker是一个时间选择控件,也继承自FrameLayout类。时间选择控件向用户显示一天中的时间(可以为24小时,也可以为AM/PM制),并允许用户进行选择。如果要捕获用户修改时间数据的事件,便需要为TimePicker添加OnTimeChangedListener监听器。

1.效果图:

2.XML代码:

 1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3     android:layout_width="fill_parent" 4     android:layout_height="fill_parent" 5     android:orientation="vertical" > 6  7     <TextView 8         android:layout_width="fill_parent" 9         android:layout_height="wrap_content"10         android:text="请选择时间:" />11 12     <DatePicker13         android:id="@+id/datePicker"14         android:layout_width="wrap_content"15         android:layout_height="wrap_content"16         android:layout_gravity="center_horizontal" />17 18     <TimePicker19         android:id="@+id/timePicker"20         android:layout_width="wrap_content"21         android:layout_height="wrap_content"22         android:layout_gravity="center_horizontal" />23 24     <EditText25         android:id="@+id/show"26         android:layout_width="fill_parent"27         android:layout_height="wrap_content"28         android:cursorVisible="false"29         android:editable="false" />30 31 </LinearLayout>

3.java代码:

 1 package com.example.datapicker; 2  3 import java.util.Calendar; 4 import android.app.Activity; 5 import android.os.Bundle; 6 import android.widget.DatePicker; 7 import android.widget.DatePicker.OnDateChangedListener; 8 import android.widget.EditText; 9 import android.widget.TimePicker;10 import android.widget.TimePicker.OnTimeChangedListener;11 12 public class MainActivity extends Activity {13     14     private DatePicker mDatePicker;15     private TimePicker mTimePicker;16     private EditText mEditText;17 18     // 定义5个记录当前时间的变量19     private int year;20     private int month;21     private int day;22     private int hour;23     private int minute;24 25     @Override26     public void onCreate(Bundle savedInstanceState) {27         super.onCreate(savedInstanceState);28         setContentView(R.layout.activity_main);29         30         initView();31         32     }33 34     private void initView() {35         mDatePicker = (DatePicker) findViewById(R.id.datePicker);36         mTimePicker = (TimePicker) findViewById(R.id.timePicker);37         mEditText = (EditText) findViewById(R.id.show);38         // 获取当前的年、月、日、小时、分钟39         Calendar c = Calendar.getInstance();40         year = c.get(Calendar.YEAR);41         month = c.get(Calendar.MONTH);42         day = c.get(Calendar.DAY_OF_MONTH);43         hour = c.get(Calendar.HOUR);44         minute = c.get(Calendar.MINUTE);45 46         47         //初始化DatePicker组件,初始化时指定监听器48         mDatePicker.init(year, month, day, new OnDateChangedListener() {49             @Override50             public void onDateChanged(DatePicker arg0, int year, int month,51                     int day) {52                 MainActivity.this.year = year;53                 MainActivity.this.month = month;54                 MainActivity.this.day = day;55                 // 显示当前日期、时间56                 showDate(year, month, day, hour, minute);57             }58         });59         60         // 为TimePicker指定监听器61         mTimePicker.setOnTimeChangedListener(new OnTimeChangedListener() {62             @Override63             public void onTimeChanged(TimePicker arg0, int hour, int minute) {64                 MainActivity.this.hour = hour;65                 MainActivity.this.minute = minute;66                 // 显示当前日期、时间67                 showDate(year, month, day, hour, minute);68             }69         });70     }71 72     73     // 定义在EditText中显示当前日期、时间的方法74     private void showDate(int year, int month, int day, int hour, int minute) {75         mEditText.setText("日期为:" + year + "年" + month + "月" + day + "日  "76                 + hour + "时" + minute + "分");77     }78 }

 

Android学习之------DatePicker和TimePicker