下面列出了android.app.DatePickerDialog.OnDateSetListener#android.app.DatePickerDialog 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@Override
public void onClick(View v) {
int id = 0;
Calendar calendar = Calendar.getInstance();
switch (v.getId()) {
case R.id.edit_text_start_date:
calendar.setTime(((DateRangeFilter) getFilter()).getmStartDate());
id = 0;
break;
case R.id.edit_text_end_date:
calendar.setTime(((DateRangeFilter) getFilter()).getmEndDate());
id = 1;
break;
}
DatePickerDialog dpd = new DatePickerDialog(mActivity,
vh,
calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH)
);
dateType = id;
dpd.show();
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
int year = mInitialDate.get(Calendar.YEAR);
int month = mInitialDate.get(Calendar.MONTH);
int day = mInitialDate.get(Calendar.DAY_OF_MONTH);
DatePickerDialog picker = new DatePickerDialog(getActivity(), this, year, month, day);
if (mMinDate != null) {
picker.getDatePicker().setMinDate(mMinDate.getTimeInMillis());
}
if (mMaxDate != null) {
picker.getDatePicker().setMaxDate(mMaxDate.getTimeInMillis());
}
return picker;
}
@NonNull
@Override
public final Dialog onCreateDialog(final Bundle savedInstanceState) {
int year = getArguments().getInt("Year");
int month = getArguments().getInt("Month");
int date = getArguments().getInt("Date");
DatePickerDialog.OnDateSetListener dateSetListener = new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(final DatePicker view, final int yearSelected, final int monthOfYear,
final int dayOfMonth) {
((OrganizeNewPhotosActivity) getActivity()).setDate(yearSelected, monthOfYear, dayOfMonth);
}
};
return new DatePickerDialog(getActivity(), dateSetListener, year, month, date);
}
private void showNativeCalendar() {
Calendar calendar = DateUtils.getInstance().getCalendar();
DatePickerDialog datePickerDialog = new DatePickerDialog(this, (view, year, month, dayOfMonth) -> {
Calendar chosenDate = Calendar.getInstance();
chosenDate.set(year, month, dayOfMonth);
presenter.rescheduleEvent(chosenDate.getTime());
}, calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH));
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) {
datePickerDialog.setButton(DialogInterface.BUTTON_NEUTRAL, getContext().getResources().getString(R.string.change_calendar), (dialog, which) -> {
datePickerDialog.dismiss();
showCustomCalendar();
});
}
datePickerDialog.show();
}
private void showDatePicker(String msg, final EditText targetInput) {
final Calendar c = Calendar.getInstance(TimeZone.getTimeZone("GMT+0"));
int mYear = c.get(Calendar.YEAR);
int mMonth = c.get(Calendar.MONTH);
int mDay = c.get(Calendar.DAY_OF_MONTH);
DatePickerDialog datePickerDialog = new DatePickerDialog(this,
new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year,
int monthOfYear, int dayOfMonth) {
if (targetInput != null) {
targetInput.setText(String.format(Locale.US, "%02d-%02d-%02d", year, 1 + monthOfYear, dayOfMonth));
}
}
}, mYear, mMonth, mDay);
datePickerDialog.setMessage(msg);
datePickerDialog.getDatePicker().setMinDate(System.currentTimeMillis());
datePickerDialog.show();
}
@OnClick({R.id.editTextStartDate, R.id.editTextEndDate})
public void onDateClick(View view) {
Calendar calendar = Calendar.getInstance();
switch (view.getId()) {
case R.id.editTextStartDate:
calendar.setTime(mStartDate);
break;
case R.id.editTextEndDate:
calendar.setTime(mEndDate);
break;
}
calendar.setTime(mStartDate);
dateType = view.getId();
new DatePickerDialog(this,
this,
calendar.get(Calendar.YEAR),
calendar.get(Calendar.MONTH),
calendar.get(Calendar.DAY_OF_MONTH)
).show();
}
private void initDatePicker() {
String dateFormat = "dd/MM/yyyy";
Calendar newCalendar = Calendar.getInstance();
SimpleDateFormat dateFormatter = new SimpleDateFormat(dateFormat, Locale.ENGLISH);
datePickerDialog = new DatePickerDialog(this, (view, year, monthOfYear, dayOfMonth) -> {
Calendar newDate = Calendar.getInstance();
newDate.set(year, monthOfYear, dayOfMonth);
expiryDateEditText.setText(dateFormatter.format(newDate.getTime()));
}, newCalendar.get(Calendar.YEAR), newCalendar.get(Calendar.MONTH), newCalendar.get(Calendar.DAY_OF_MONTH));
//set default for tomorrow
long tomorrowStamp = System.currentTimeMillis() + 1000*60*60*24;
Date tomorrow = new Date(tomorrowStamp);
expiryDateEditText.setText(dateFormatter.format(tomorrow.getTime()));
}
@Override
public void onClick(View v) {
mCurrentDate = Calendar.getInstance();
int mYear = mCurrentDate.get(Calendar.YEAR);
int mMonth = mCurrentDate.get(Calendar.MONTH);
int mDay = mCurrentDate.get(Calendar.DAY_OF_MONTH);
DatePickerDialog mDatePicker = new DatePickerDialog(TypeFaceActivity.this, new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker datepicker, int selectedYear, int selectedMonth, int selectedDay) {
// Update the editText to display the selected date
mDateEditText.setText(selectedDay + "-" + (selectedMonth + 1) + "-" + selectedYear);
// Set the mCurrentDate to the selected date-month-year
mCurrentDate.set(selectedYear, selectedMonth, selectedDay);
mGeneratedDateIcon = mImageGenerator.generateDateImage(mCurrentDate, R.drawable.empty_calendar);
mDisplayGeneratedImage.setImageBitmap(mGeneratedDateIcon);
}
}, mYear, mMonth, mDay);
mDatePicker.show();
}
private void showDatePickerDialog(String initialValue) {
String[] dateArray = initialValue.split("-");
Calendar cal = Calendar.getInstance();
cal.set(Integer.parseInt(dateArray[0]), Integer.parseInt(dateArray[1]) - 1, Integer.parseInt(dateArray[2]));
DatePickerDialog dialog = new DatePickerDialog(getActivity(), new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
// Update the date
mMovie.setReleaseDate(year, monthOfYear + 1, dayOfMonth);
// Update the UI with the new value
setupValues(false);
}
}, cal.get(Calendar.YEAR), cal.get(Calendar.MONTH), cal.get(Calendar.DAY_OF_MONTH));
dialog.show();
}
public void showDatePickerDialog(View v) {
HistoryDetailActivity.DatePickerFragment newFragment = new HistoryDetailActivity.DatePickerFragment();
Calendar date = Calendar.getInstance();
date.setTimeInMillis(currentDateTime);
newFragment.setData(new DatePickerDialog.OnDateSetListener (){
@Override
public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
date.set(Calendar.YEAR, year);
date.set(Calendar.MONTH, month);
date.set(Calendar.DAY_OF_MONTH, dayOfMonth);
currentDateTime = date.getTimeInMillis();
currentOffset = 0;
loadRange(currentRange, currentOffset);
}
}
, date.get(Calendar.YEAR), date.get(Calendar.MONTH), date.get(Calendar.DAY_OF_MONTH));
newFragment.show(getSupportFragmentManager(), "startDatePicker");
}
public void showStartDatePickerDialog(View v) {
DatePickerFragment newFragment = new DatePickerFragment();
newFragment.setData(new DatePickerDialog.OnDateSetListener (){
@Override
public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
start.set(Calendar.YEAR, year);
start.set(Calendar.MONTH, month);
start.set(Calendar.DAY_OF_MONTH, dayOfMonth);
Long newStart = Long.valueOf(start.getTimeInMillis());
updateValues.put(ActivityDiaryContract.Diary.START, newStart);
updateDateTimes();
}
}
, start.get(Calendar.YEAR), start.get(Calendar.MONTH), start.get(Calendar.DAY_OF_MONTH));
newFragment.show(getSupportFragmentManager(), "startDatePicker");
}
/**
* 弹出日期选择对话框
* <p>
* 参数:
* title: 标题
* datetime: 指定日期 yyyy-MM-dd
* 返回:
* date: 格式:yyyy-MM-dd
*/
public static void pickDate(final IQuickFragment webLoader, WebView wv, JSONObject param, final Callback callback) {
final String title = param.optString("title");
String date = param.optString("datetime");
final Calendar calendar = Calendar.getInstance();
if (!TextUtils.isEmpty(date)) {
calendar.setTime(DateUtil.convertString2Date(date, "yyyy-MM-dd"));
}
wv.post(new Runnable() {
public void run() {
DialogUtil.pickDate(webLoader.getPageControl().getActivity(), title, calendar, new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
calendar.set(Calendar.YEAR, year);
calendar.set(Calendar.MONTH, monthOfYear);
calendar.set(Calendar.DAY_OF_MONTH, dayOfMonth);
String chooseDate = DateUtil.convertDate(calendar.getTime(), "yyyy-MM-dd");
Map<String, Object> map = new HashMap<>();
map.put("date", chooseDate);
callback.applySuccess(map);
}
});
}
});
}
@OnClick(R.id.showDatePicker)
void onShowDatePickerClick() {
Calendar now = Calendar.getInstance();
DatePickerDialog dialog = new DatePickerDialog(
SampleActivity.this,
new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
}
},
now.get(Calendar.YEAR),
now.get(Calendar.MONTH),
now.get(Calendar.DAY_OF_MONTH));
dialog.show();
}
@OnClick(R.id.showDatePicker)
void onShowDatePickerClick() {
Calendar now = Calendar.getInstance();
DatePickerDialog dialog = new DatePickerDialog(
getActivity(),
new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
}
},
now.get(Calendar.YEAR),
now.get(Calendar.MONTH),
now.get(Calendar.DAY_OF_MONTH));
dialog.show();
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
DatePickerDialog dialog = new DatePickerDialog(getActivity(), mOnDateSetListener,
mInitialYear, mInitialMonth, mInitialDayOfMonth);
// Disallow future dates. For Lollipop, we need to set the timestamp to the last second
// of the last allowed day, or that day will be visible but not selectable.
// TODO(smcgruer): I don't think this actually works. Need to test on real device.
final Calendar maxCal = Calendar.getInstance();
maxCal.set(Calendar.HOUR, 23);
maxCal.set(Calendar.MINUTE, 59);
maxCal.set(Calendar.SECOND, 59);
dialog.getDatePicker().setMaxDate(maxCal.getTimeInMillis());
return dialog;
}
private void pickDate(final Date target) {
final Calendar calendar = Calendar.getInstance();
calendar.setTime(target);
DatePickerDialog dialog = new DatePickerDialog(getActivity(),
new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
calendar.set(Calendar.YEAR, year);
calendar.set(Calendar.MONTH, monthOfYear);
calendar.set(Calendar.DAY_OF_MONTH, dayOfMonth);
target.setTime(calendar.getTimeInMillis());
updateButtonsText();
}
}, calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH),
calendar.get(Calendar.DAY_OF_MONTH));
dialog.show();
}
@Override
public boolean onMenuItemClick(MenuItem item) {
int id = item.getItemId();
if (id == R.id.action_reminder_edit) {
final Calendar c = Calendar.getInstance();
c.setTimeInMillis(notificationCursor.getLong(notificationCursor.getColumnIndexOrThrow(DbContract.NotificationEntry.COLUMN_TIME)));
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH);
int day = c.get(Calendar.DAY_OF_MONTH);
DatePickerDialog dpd = new DatePickerDialog(TextNoteActivity.this, this, year, month, day);
dpd.getDatePicker().setMinDate(new Date().getTime());
dpd.show();
return true;
} else if (id == R.id.action_reminder_delete) {
cancelNotification();
return true;
}
return false;
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
// Use the current date as the default date in the picker
final Calendar c = Calendar.getInstance();
if (initial != -1) {
c.setTimeInMillis(initial);
}
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH);
int day = c.get(Calendar.DAY_OF_MONTH);
// Create a new instance of DatePickerDialog and return it
DatePickerDialog dp = new DatePickerDialog(getActivity(), this, year, month, day);
if (title != null) dp.setTitle(title);
if (!allow_future) dp.getDatePicker().setMaxDate(System.currentTimeMillis());
if (earliest > -1) dp.getDatePicker().setMinDate(earliest);
return dp;
}
@Override
public boolean onMenuItemClick(MenuItem item) {
int id = item.getItemId();
if (id == R.id.action_reminder_edit) {
final Calendar c = Calendar.getInstance();
c.setTimeInMillis(notificationCursor.getLong(notificationCursor.getColumnIndexOrThrow(DbContract.NotificationEntry.COLUMN_TIME)));
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH);
int day = c.get(Calendar.DAY_OF_MONTH);
DatePickerDialog dpd = new DatePickerDialog(AudioNoteActivity.this, this, year, month, day);
dpd.getDatePicker().setMinDate(new Date().getTime());
dpd.show();
return true;
} else if (id == R.id.action_reminder_delete) {
cancelNotification();
return true;
}
return false;
}
@NonNull @Override public Dialog onCreateDialog(Bundle savedInstanceState) {
setupArguments(savedInstanceState);
final Calendar calendar = Calendar.getInstance();
if (builder.getSelectedDate() != 0) {
calendar.setTimeInMillis(builder.getSelectedDate());
}
DatePickerDialog datePickerDialog = new DatePickerDialog(getContext(), builder.getThemeResId(), this, calendar.get(Calendar.YEAR),
calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH));
if (builder.getMinDate() != 0) {
datePickerDialog.getDatePicker().setMinDate(builder.getMinDate());
}
if (builder.getMaxDate() != 0) {
datePickerDialog.getDatePicker().setMaxDate(builder.getMaxDate());
}
return datePickerDialog;
}
@Override
public boolean onMenuItemClick(MenuItem item) {
int id = item.getItemId();
if (id == R.id.action_reminder_edit) {
final Calendar c = Calendar.getInstance();
c.setTimeInMillis(notificationCursor.getLong(notificationCursor.getColumnIndexOrThrow(DbContract.NotificationEntry.COLUMN_TIME)));
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH);
int day = c.get(Calendar.DAY_OF_MONTH);
DatePickerDialog dpd = new DatePickerDialog(ChecklistNoteActivity.this, this, year, month, day);
dpd.getDatePicker().setMinDate(new Date().getTime());
dpd.show();
return true;
} else if (id == R.id.action_reminder_delete) {
cancelNotification();
return true;
}
return false;
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
//current date as the default date in the picker
final Calendar c = Calendar.getInstance();
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH);
int day = c.get(Calendar.DAY_OF_MONTH);
DatePickerDialog dialog = new DatePickerDialog(getActivity(), app.outlay.R.style.DatePicker, this, year, month, day);
if (DeviceUtils.supportV5()) {
dialog.getDatePicker().setFirstDayOfWeek(Calendar.MONDAY);
} else {
//dialog.getDatePicker().getCalendarView().setFirstDayOfWeek(Calendar.MONDAY);
}
return dialog;
}
@OnClick(R.id.tg_time)
public void getTime() {
Calendar calender = Calendar.getInstance();
DatePickerDialog dialog = new DatePickerDialog(DateWriteActivity.this, new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
calender.set(year, monthOfYear, dayOfMonth);
tgTime.setText(new SimpleDateFormat("yyyy年MM月dd日").format(calender.getTime()));
time = calender.getTime().getTime();
}
}, calender.get(Calendar.YEAR), calender.get(Calendar.MONTH), calender.get(Calendar.DAY_OF_MONTH));
dialog.show();
}
private void showDatePicker(final EditText birthday) {
DatePickerDialog dpd =
new DatePickerDialog(MainActivity.this, new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
Date selectedDate = new GregorianCalendar(year, monthOfYear, dayOfMonth).getTime();
birthday.setText(sdf.format(selectedDate));
}
}, 2016, 0, 1);
dpd.show();
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
// Use the current date as the default date in the picker
final Calendar c = Calendar.getInstance();
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH);
int day = c.get(Calendar.DAY_OF_MONTH);
// Create a new instance of DatePickerDialog and return it
return new DatePickerDialog(getActivity(), this, year, month, day);
}
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case DATE_DIALOG_ID:
return new DatePickerDialog(this, mDateSetListener, mYear, mMonth,
mDay);
}
return null;
}
@Override
protected Dialog onCreateDialog(int id)// ��дonCreateDialog����
{
switch (id) {
case DATE_DIALOG_ID:// ��������ѡ��Ի���
return new DatePickerDialog(this, mDateSetListener, mYear, mMonth,
mDay);
}
return null;
}
private void datePicker(String targetElement, Calendar initialDate) {
// Remove single-quotes from the `targetElement` CSS selecter, as
// we'll be using these to enclose the entire string in JS. We
// are not trying to properly escape these characters, just prevent
// suprises from JS injection.
final String safeTargetElement = targetElement.replace('\'', '_');
DatePickerDialog.OnDateSetListener listener = new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int year, int month, int day) {
++month;
String dateString = String.format(UK, "%04d-%02d-%02d", year, month, day);
String setJs = String.format("$('%s').val('%s').trigger('change')",
safeTargetElement, dateString);
parent.evaluateJavascript(setJs);
}
};
// Make sure that the datepicker uses spinners instead of calendars. Material design
// does not support non-calendar view, so we explicitly use the Holo theme here.
// Rumours suggest this may still show a calendar view on Android 24. This has not been confirmed.
// https://stackoverflow.com/questions/28740657/datepicker-dialog-without-calendar-visualization-in-lollipop-spinner-mode
DatePickerDialog dialog = new DatePickerDialog(parent, android.R.style.Theme_Holo_Dialog, listener,
initialDate.get(YEAR), initialDate.get(MONTH), initialDate.get(DAY_OF_MONTH));
DatePicker picker = dialog.getDatePicker();
picker.setCalendarViewShown(false);
picker.setSpinnersShown(true);
dialog.show();
}
private void showNativeCalendar(DatePickerDialog.OnDateSetListener listener) {
Calendar calendar = Calendar.getInstance();
if (selectedDate != null)
calendar.setTime(selectedDate);
if (eventCreationType == EventCreationType.SCHEDULE)
calendar.add(Calendar.DAY_OF_YEAR, eventScheduleInterval);
DatePickerDialog datePickerDialog = new DatePickerDialog(this, listener,
calendar.get(Calendar.YEAR),
calendar.get(Calendar.MONTH),
calendar.get(Calendar.DAY_OF_MONTH));
if (program.expiryPeriodType() != null) {
Date minDate = DateUtils.getInstance().expDate(null, program.expiryDays() == null ? 0 : program.expiryDays(), program.expiryPeriodType());
datePickerDialog.getDatePicker().setMinDate(minDate.getTime());
}
switch (eventCreationType) {
case ADDNEW:
case DEFAULT:
datePickerDialog.getDatePicker().setMaxDate(System.currentTimeMillis() - 1000);
break;
case REFERAL:
case SCHEDULE:
break;
}
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) {
datePickerDialog.setButton(DialogInterface.BUTTON_NEUTRAL, getContext().getResources().getString(R.string.change_calendar), (dialog, which) -> {
datePickerDialog.dismiss();
showCustomCalendar(listener);
});
}
datePickerDialog.show();
}
@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
final Calendar calendar = Calendar.getInstance();
int yy = calendar.get(Calendar.YEAR);
int mm = calendar.get(Calendar.MONTH);
int dd = calendar.get(Calendar.DAY_OF_MONTH);
DatePickerDialog mDatePicker = new DatePickerDialog(getActivity(), this, yy, mm, dd);
mDatePicker.getDatePicker().setMaxDate(System.currentTimeMillis());
return mDatePicker;
}