读书人

DatePicker跟TimePicker

发布时间: 2012-08-26 16:48:05 作者: rapoo

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));    }}

读书人网 >移动开发

热点推荐