在Android中关于日期时间的类有TimePicker、DatePicker、TimePickerDialog、DatePickerDialog、Calendar。其中TimePickerDialog、DatePickerDialog是对话框形式。
一、TimePicker
查看一个在24小时或上午/下午模式下一天的时间。
1.重要方法
setCurrentMinute(Integer currentMinute)设置当前时间的分钟
getCurrentMinute()获取当前时间的分钟
setEnabled(boolean enabled)设置当前视图是否可以编辑。
m_TimePicker.setIs24HourView(true);设置为24小时制显示
setOnTimeChangedListener(TimePicker.OnTimeChangedListener onTimeChangedListener)当时间改变时调用
二、DatePicker
1.重要方法
getDayOfMonth():获取当前Day
getMonth():获取当前月
getYear()获取当前年
三、TimePickerDialog、DatePickerDialog
以对话框形式显示日期时间视图
四、Calendar
日历是设定年度日期对象和一个整数字段之间转换的抽象基类,如,月,日,小时等。
updateDate(int year, int monthOfYear, int dayOfMonth):更新日期
=========================================
案例定义一个布局文件timepicker.xml
01 | <? xml version = "1.0" encoding = "utf-8" ?> |
02 | < LinearLayout xmlns:android = "http://schemas.android.com/apk/res/android" |
03 | android:layout_width = "match_parent" |
04 | android:layout_height = "match_parent" |
05 | android:orientation = "vertical" > |
07 | android:id = "@+id/timeDisplay" |
08 | android:layout_width = "wrap_content" |
09 | android:layout_height = "wrap_content" |
12 | android:id = "@+id/pickTime" |
13 | android:layout_width = "wrap_content" |
14 | android:layout_height = "wrap_content" |
15 | android:text = "Change the time" /> |
2.java文件:TimePickerDemo.java
02 | import java.util.Calendar; |
04 | import android.app.Activity; |
05 | import android.app.Dialog; |
06 | import android.app.TimePickerDialog; |
07 | import android.app.TimePickerDialog.OnTimeSetListener; |
08 | import android.os.Bundle; |
09 | import android.view.View; |
10 | import android.view.View.OnClickListener; |
11 | import android.widget.Button; |
12 | import android.widget.TextView; |
13 | import android.widget.TimePicker; |
15 | public class TimePickerDemo extends Activity { |
17 | private TextView mtextView; |
19 | private Button mbutton; |
20 | private int mHour,mMinute; |
21 | static final int TIME_DIALOG= 0 ; |
24 | protected void onCreate(Bundle savedInstanceState) { |
26 | super .onCreate(savedInstanceState); |
28 | setContentView(R.layout.timepicker); |
30 | final Calendar calendar =Calendar.getInstance(); |
32 | this .mHour=calendar.get(Calendar.HOUR_OF_DAY); |
34 | this .mMinute=calendar.get(Calendar.MINUTE); |
36 | mtextView=(TextView)findViewById(R.id.timeDisplay); |
37 | mbutton =(Button)findViewById(R.id.pickTime); |
39 | mbutton.setOnClickListener(clickListener); |
43 | private OnClickListener clickListener = new OnClickListener() { |
46 | public void onClick(View v) { |
47 | showDialog(TIME_DIALOG); |
51 | private void updateDisplay() { |
53 | mtextView.setText( new StringBuilder() |
54 | .append(pad(mHour)).append( ":" ) |
55 | .append(pad(mMinute))); |
58 | private String pad( int c) |
63 | return String.valueOf(c); |
66 | return "0" +String.valueOf(c); |
70 | protected Dialog onCreateDialog( int id) { |
75 | return new TimePickerDialog( this ,mTimeSetListener,mHour,mMinute, false ); |
82 | private OnTimeSetListener mTimeSetListener= new OnTimeSetListener() { |
85 | public void onTimeSet(TimePicker view, int hourOfDay, int minute) { |