系统提供的DatePicker和TimePicker的两种控件用法雷同,前者选择日期,后者选择时间,很多时候也可以结合使用。基础用法如下:
//创建的方法
protected void onCreate(Bundle savedInstanceState) {
Calendar c = Calendar.getInstance();
mYear = c.get(Calendar.YEAR);
mMonth = c.get(Calendar.MONTH);
mDay = c.get(Calendar.DAY_OF_MONTH);
mHourr = c.get(Calendar.HOUR_OF_DAY);
mMins = c.get(Calendar.MINUTE);
updateDisplay();
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv02 = (TextView) findViewById(R.id.tv02);
datePicker = (DatePicker) findViewById(R.id.datepicker);
datePicker.init(mYear, mMonth, mDay, new DatePicker.OnDateChangedListener() {
@Override
public void onDateChanged(DatePicker datePicker, int i, int i1, int i2) {
mYear = i;
mMonth = i1;
mDay = i2;
//选择操作执行之后会更改显示内容
updateDisplay();
}
});
//取得Timepicker对象 并设置24小时时间格式
timePicker = (TimePicker) findViewById(R.id.timepicker);
timePicker.setIs24HourView(true);
timePicker.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener() {
@Override
public void onTimeChanged(TimePicker timePicker, int i, int i1) {
mHourr = i;
mMins = i1;
//选择操作执行之后会更改显示内容
updateDisplay();
}
});
}
//设置显示日期时间的方法
public void updateDisplay(){
tv02.setText(new StringBuffer().append(mYear).append("/").append(format(mMonth+1)).append("/").append(format(mDay)).append(" ").append(format(mHourr)).append(":").append(format(mMins)));
}
//日期和时间显示两位数的方法
private String format(int x){
String s = "" + x;
if (s.length() == 1)
s = "0" + s;
return s;
}
}
网友评论