具有取消按钮的 DatePickerDialog,并且在点击确认按钮时取得日期,不通过 OnDateSetListener 接口取得日期

具有取消按钮的 DatePickerDialog,并且在点击确认按钮时取得日期,不通过 OnDateSetListener 接口取得日期

Calendar calendar = Calendar.getInstance();
final DatePickerDialog datePicker = new DatePickerDialog(actInput.this, null,
		calendar.get(Calendar.YEAR),
		calendar.get(Calendar.MONTH),
		calendar.get(Calendar.DAY_OF_MONTH));
datePicker.setCancelable(true);
datePicker.setCanceledOnTouchOutside(true);
datePicker.setButton(DialogInterface.BUTTON_POSITIVE, "确认",
		new DialogInterface.OnClickListener() {
			@Override
			public void onClick(DialogInterface dialog, int which) {
				//确定的逻辑代码在监听中实现
				DatePicker picker = datePicker.getDatePicker();
				int year = picker.getYear();
				int monthOfYear = picker.getMonth();
				int dayOfMonth = picker.getDayOfMonth();
				//Toast.makeText(actInput.this, String.format("%d-%d-%d", year, monthOfYear, dayOfMonth), Toast.LENGTH_LONG).show();
                                // 取得的 monthOfYear 是 Base 0 的
				edtDate.setText(String.format("%d.%d.%d", year, monthOfYear + 1, dayOfMonth));
				Juliandate = dbHelper.ToJulianDate(year, monthOfYear + 1, dayOfMonth);
			}
		});
datePicker.setButton(DialogInterface.BUTTON_NEGATIVE, "取消",
		new DialogInterface.OnClickListener() {
			@Override
			public void onClick(DialogInterface dialog, int which) {
				//取消什么也不用做
			}
		});
datePicker.show();
posted @ 2021-12-07 21:34  汉学  阅读(108)  评论(0)    收藏  举报