DatePickerDialog其实就是把CalendarView封装进Dialog中了,调用起来更方便快捷。
显示
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
。
监听回调
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+"日"); } };