近期学习的时间选择控件,总结下
先看看效果:
MainActivity.java
private int year;
private int month;
private int day;
//页面上显示的时间
private TextView showdate;
//时间右边小笑脸,找不到合适的图片,凑合看吧
private ImageView setdate;
oncreate方法里
// 初始化Calendar日历对象
Calendar mycalendar = Calendar.getInstance(Locale.CHINA);
Date mydate = new Date(); // 获取当前日期Date对象
mycalendar.setTime(mydate);// //为Calendar对象设置时间为当前日期
year = mycalendar.get(Calendar.YEAR); // 获取Calendar对象中的年
month = mycalendar.get(Calendar.MONTH);// 获取Calendar对象中的月
day = mycalendar.get(Calendar.DAY_OF_MONTH);// 获取这个月的第几天
showdate.setText(year + "-" + (month + 1) + "-" + day); // 显示当前的年月日
/**
* 设置天气选择点击事件
*/
setweather.setOnClickListener(this);
private DatePickerDialog.OnDateSetListener Datelistener = new DatePickerDialog.OnDateSetListener()
{
@Override
public void onDateSet(DatePicker view, int myyear, int monthOfYear,
int dayOfMonth) {
// 修改year、month、day的变量值,以便以后单击按钮时,DatePickerDialog上显示上一次修改后的值
year = myyear;
month = monthOfYear;
day = dayOfMonth;
// 更新日期
updateDate();
}
// 当DatePickerDialog关闭时,更新日期显示
private void updateDate()
{
// 在TextView上显示日期
showdate.setText(year + "-" + (month + 1) + "-" + day);
}
};
activity 实现implements OnClickListener,在onclick方法里写点击事件
case R.id.setdate:
// 创建DatePickerDialog对象
DatePickerDialog dpd = new DatePickerDialog(MainActivity.this,
Datelistener, year, month, day);
dpd.show();// 显示DatePickerDialog组件
break;