下面列出了android.app.DatePickerDialog#OnDateSetListener ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
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();
}
@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 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();
}
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();
}
void showPickTimeDialog (final TimePickerDialog.OnTimeSetListener listener)
{
final DatePickerDialog.OnDateSetListener dateListener = (DatePickerDialog.OnDateSetListener) listener;
final Calendar calendar = Calendar.getInstance();
TimePickerDialog d = new TimePickerDialog(MainActivity.mainActivity, listener, calendar.get(Calendar.HOUR_OF_DAY), calendar.get(Calendar.MINUTE), DateFormat.is24HourFormat(MainActivity.mainActivity));
//
d.setCancelable(false);
d.setCanceledOnTouchOutside(false);
//
d.setButton(DatePickerDialog.BUTTON_NEGATIVE, "Back", new DialogInterface.OnClickListener()
{
@Override
public void onClick (DialogInterface dialog, int which)
{
showPickDateDialog(dateListener, null);
}
});
//
LinearLayout linearLayout = new LinearLayout(MainActivity.mainActivity.getApplicationContext());
d.requestWindowFeature(Window.FEATURE_NO_TITLE);
d.setCustomTitle(linearLayout);
//
d.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
mShow.setFirstAiredDate(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 static void showDatePickerDialog(
Context context, CalendarDay day,
DatePickerDialog.OnDateSetListener callback) {
if (day == null) {
day = CalendarDay.today();
}
DatePickerDialog dialog = new DatePickerDialog(
context, 0, callback, day.getYear(), day.getMonth() - 1, day.getDay()
);
dialog.show();
}
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
Activity activity = getActivity();
if (activity instanceof DatePickerDialog.OnDateSetListener) {
((DatePickerDialog.OnDateSetListener) activity).onDateSet(view, year, monthOfYear, dayOfMonth);
}
}
public DismissableDatePickerDialog(
Context context,
int theme,
@Nullable DatePickerDialog.OnDateSetListener callback,
int year,
int monthOfYear,
int dayOfMonth) {
super(context, theme, callback, year, monthOfYear, dayOfMonth);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View myView = inflater.inflate(R.layout.picker_fragment, container, false);
tv_date = myView.findViewById(R.id.tv_date);
tv_time = myView.findViewById(R.id.tv_time);
btn_date = myView.findViewById(R.id.btn_date);
btn_date.setOnClickListener(this);
btn_time = myView.findViewById(R.id.btn_time);
btn_time.setOnClickListener(this);
//create the date picker listener, which is used later when the picker is called.
d = new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
dateAndTime.set(Calendar.YEAR, year);
dateAndTime.set(Calendar.MONTH, monthOfYear);
dateAndTime.set(Calendar.DAY_OF_MONTH, dayOfMonth);
tv_date.setText(fmtDate.format(dateAndTime.getTime()));
}
};
//create the time picker listener
t = new TimePickerDialog.OnTimeSetListener() {
public void onTimeSet(TimePicker view, int selectedHour, int selectedMinute) {
dateAndTime.set(Calendar.HOUR, selectedHour);
dateAndTime.set(Calendar.MINUTE, selectedMinute);
// set current time into textview
tv_time.setText(fmtTime.format(dateAndTime.getTime()));
}
};
return myView;
}
void showPickTimeDialog (final TimePickerDialog.OnTimeSetListener listener)
{
final DatePickerDialog.OnDateSetListener dateListener = (DatePickerDialog.OnDateSetListener) listener;
final Calendar calendar = Calendar.getInstance();
TimePickerDialog d = new TimePickerDialog(MainActivity.mainActivity, listener, calendar.get(Calendar.HOUR_OF_DAY), calendar.get(Calendar.MINUTE), DateFormat.is24HourFormat(MainActivity.mainActivity));
//
d.setCancelable(false);
d.setCanceledOnTouchOutside(false);
//
d.setButton(DatePickerDialog.BUTTON_NEGATIVE, "Back", new DialogInterface.OnClickListener()
{
@Override
public void onClick (DialogInterface dialog, int which)
{
if (screenType == ScreenType.SET_DATE_SCREEN)
{
showPickDateDialog(dateListener, null);
}
else
{
MainActivity.log("OBSetupMenu:showPickTimeDialog:cancelled!");
}
}
});
//
LinearLayout linearLayout = new LinearLayout(MainActivity.mainActivity.getApplicationContext());
d.requestWindowFeature(Window.FEATURE_NO_TITLE);
d.setCustomTitle(linearLayout);
//
d.show();
}
private void openDatePicker() {
CustomDatePickerDialog dialog = new CustomDatePickerDialog(this, new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
currentYear = year;
currentMonth = month;
currentDay = dayOfMonth;
updateDateChanged();
}
}, currentYear, currentMonth, currentDay);
dialog.show();
}
public static void showDatePickerDialog(Context context, CalendarDay day,
DatePickerDialog.OnDateSetListener callback) {
if (day == null) {
day = CalendarDay.today();
}
DatePickerDialog dialog = new DatePickerDialog(
context, 0, callback, day.getYear(), day.getMonth(), day.getDay()
);
dialog.show();
}
public void setOnDateSetListener(DatePickerDialog.OnDateSetListener listener) {
onDateSetListener = listener;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_launcher);
listView = (ListView) findViewById(R.id.doctorPlanList);
lblDate = (TextView) findViewById(R.id.tvDoctorPlanDate);
btnSavePlan = (Button) findViewById(R.id.btnSavePlan);
//btnSavePlan.setOnClickListener(this);
// radioGroupShift = (RadioGroup)
// rootView.findViewById(R.id.radioShift);
String myFormat = "dd/MM/yyyy EEEE"; // In which you need put here
SimpleDateFormat sdf = new SimpleDateFormat(myFormat, Locale.US);
lblDate.setText(sdf.format(myCalendar.getTime()));
planDate = getCurrentMillisecond(myCalendar);
DoctorVisit.DOCTOR_PLAN_LIST = DemoData.getDoctorSortList();
doctorPlanAdapter = new DoctorPlanAdapter(this,
DoctorVisit.DOCTOR_PLAN_LIST);
listView.setAdapter(doctorPlanAdapter);
plannedDate = new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
// TODO Auto-generated method stub
myCalendar.set(Calendar.YEAR, year);
myCalendar.set(Calendar.MONTH, monthOfYear);
myCalendar.set(Calendar.DAY_OF_MONTH, dayOfMonth);
updateLabel();
doctorPlanAdapter.notifyDataSetChanged();
}
};
//lblDate.setOnClickListener(this);
configFirstnLastDate();
}
public void setOnDateSetListener(DatePickerDialog.OnDateSetListener listener) {
this.listener = listener;
}
private void showCustomCalendar(DatePickerDialog.OnDateSetListener listener) {
LayoutInflater layoutInflater = LayoutInflater.from(getContext());
WidgetDatepickerBinding widgetBinding = WidgetDatepickerBinding.inflate(layoutInflater);
final DatePicker datePicker = widgetBinding.widgetDatepicker;
Calendar calendar = Calendar.getInstance();
if (selectedDate != null)
calendar.setTime(selectedDate);
if (eventCreationType == EventCreationType.SCHEDULE)
calendar.add(Calendar.DAY_OF_YEAR, eventScheduleInterval);
datePicker.updateDate(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());
datePicker.setMinDate(minDate.getTime());
}
switch (eventCreationType) {
case ADDNEW:
case DEFAULT:
datePicker.setMaxDate(System.currentTimeMillis() - 1000);
break;
case REFERAL:
case SCHEDULE:
break;
}
AlertDialog.Builder alertDialog = new AlertDialog.Builder(getContext(), R.style.DatePickerTheme);
alertDialog.setView(widgetBinding.getRoot());
Dialog dialog = alertDialog.create();
widgetBinding.changeCalendarButton.setOnClickListener(calendarButton -> {
showNativeCalendar(listener);
dialog.dismiss();
});
widgetBinding.clearButton.setOnClickListener(clearButton -> dialog.dismiss());
widgetBinding.acceptButton.setOnClickListener(acceptButton -> {
listener.onDateSet(datePicker, datePicker.getYear(), datePicker.getMonth(), datePicker.getDayOfMonth());
dialog.dismiss();
});
dialog.show();
}
@Override
public void onDateClick(@Nullable DatePickerDialog.OnDateSetListener listener) {
view.showDateDialog(listener);
}
private void setDateTimeField() {
onDateEt.setOnClickListener(this);
Calendar newCalendar = Calendar.getInstance();
onDatePickerDialog = new DatePickerDialog(this, new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
Calendar newDate = Calendar.getInstance();
newDate.set(year, monthOfYear, dayOfMonth);
onDateEt.setText(dateFormatter.format(newDate.getTime()));
}
}, newCalendar.get(Calendar.YEAR), newCalendar.get(Calendar.MONTH), newCalendar.get(Calendar.DAY_OF_MONTH));
}
void showDateDialog(DatePickerDialog.OnDateSetListener listener);