DatePicker和TimePicker
难点没什么难点,主要注意一下,DatePicker的OnDateChangeListener是在它的init方法中注册的。而TimePicker的OnTimeChangeListener是用setOnTimeChangeListener方法注册的。另外,有兴趣可以尝试一下DatePickerDialog和TimePickerDialog,其实很简单,采用以上两个是以弹出Dialog的方式来显示,这里不多做解释。
package com.kevin.datetime;import java.util.Calendar;import android.app.Activity;import android.os.Bundle;import android.widget.DatePicker;import android.widget.DatePicker.OnDateChangedListener;import android.widget.TextView;import android.widget.TimePicker;import android.widget.TimePicker.OnTimeChangedListener;public class Main extends Activity {private TextView tv_title;private DatePicker datePicker;private TimePicker timePicker;private int year;private int month;private int day;private int hour;private int minute; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { Calendar calendar = Calendar.getInstance(); year = calendar.get(Calendar.YEAR); month = calendar.get(Calendar.MONTH); day = calendar.get(Calendar.DAY_OF_MONTH); hour = calendar.get(Calendar.HOUR_OF_DAY); minute = calendar.get(Calendar.MINUTE); super.onCreate(savedInstanceState); setContentView(R.layout.main); tv_title = (TextView)findViewById(R.id.tv_title); updateDisplay(); datePicker = (DatePicker)findViewById(R.id.datePicker1); // 以init设置初始值与onDateChangeListener datePicker.init(year, month, day, new OnDateChangedListener() {@Overridepublic void onDateChanged(DatePicker view, int year, int monthOfYear,int dayOfMonth) {Main.this.year = year;month = monthOfYear;day = dayOfMonth;// 更新textviewupdateDisplay();}}); timePicker = (TimePicker) findViewById(R.id.timePicker1); timePicker.setIs24HourView(true); timePicker.setOnTimeChangedListener(new OnTimeChangedListener() {@Overridepublic void onTimeChanged(TimePicker view, int hourOfDay, int minute) {hour = hourOfDay;Main.this.minute = minute;updateDisplay();}}); } // 更新textview private void updateDisplay(){ tv_title.setText(new StringBuilder().append(year) .append("/") .append(month + 1) .append("/") .append(day) .append(" ") .append(hour) .append(":") .append(minute)); }}