DatePicker和TimePicker都是从FrameLayout派生而来。
简单的例子实现对时间监听。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="选择时间"
/>
<DatePicker android:id="@+id/datepicker"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
/>
<TimePicker
android:id="@+id/timepicker"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
/>
<EditText
android:id="@+id/et"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:editable="false"
android:cursorVisible="false"
/>
</LinearLayout>
package com.ly;
import java.util.Calendar;
import android.app.Activity;
import android.os.Bundle;
import android.widget.DatePicker;
import android.widget.DatePicker.OnDateChangedListener;
import android.widget.EditText;
import android.widget.TimePicker;
import android.widget.TimePicker.OnTimeChangedListener;
/**
* @author kurting
* 两个时间控件监听
*
*/
public class TimeExampleActivity extends Activity {
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) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
DatePicker datapicker = (DatePicker) findViewById(R.id.datepicker);
TimePicker timepicker =(TimePicker) findViewById(R.id.timepicker);
Calendar c =Calendar.getInstance();
year =c.get(Calendar.YEAR);
month=c.get(Calendar.MONTH);
day=c.get(Calendar.DAY_OF_MONTH);
hour = c.get(Calendar.HOUR);
minute =c.get(Calendar.MINUTE);
datapicker.init(year, month, day, new OnDateChangedListener() {
@Override
public void onDateChanged(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
TimeExampleActivity.this.year=year;
TimeExampleActivity.this.month=monthOfYear;
TimeExampleActivity.this.day=dayOfMonth;
showDate(year,month,day,hour,minute);
}
});
timepicker.setOnTimeChangedListener(new OnTimeChangedListener() {
@Override
public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
// TODO Auto-generated method stub
TimeExampleActivity.this.hour=hourOfDay;
TimeExampleActivity.this.minute=minute;
}
});
}
private void showDate(int year, int month, int day, int hour,int minute) {
EditText et = (EditText) findViewById(R.id.et);
et.setText(year+"年"+month+"月"+day+"日"+hour+"时"+minute+"分");
}
}
运行效果如图: