DatePickerDialog
其实就是把CalendarView
封装进Dialog
中了,调用起来更方便快捷。
显示
代码语言:javascript复制 mBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Calendar calendar = Calendar.getInstance();
DatePickerDialog dialog = new DatePickerDialog(MainActivity.this, listener,
calendar.get(Calendar.YEAR),
calendar.get(Calendar.MONTH),
calendar.get(Calendar.DAY_OF_MONTH));
dialog.show();
}
});
构造方法也很简单
- 上下文
- 监听回调
- 年
- 月
- 日
然后调用show
方法即可。
也可以在上下文参数后面加上自定义的dialog style,默认获取当前activity的theme
。
监听回调
代码语言:javascript复制 private DatePickerDialog.OnDateSetListener listener = new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker datePicker, int year, int monthOfYear, int dayOfMonth) {
Log.i("---", "年=" year ",月=" (monthOfYear 1) ",日=" dayOfMonth);
tvInfo.setText(year "年" (monthOfYear 1) "月" dayOfMonth "日");
}
};
【注意】月份下标是从0
开始的,所以 1
。