Skip to content

Instantly share code, notes, and snippets.

@furkantektas
Last active February 11, 2020 20:52
Show Gist options
  • Star 4 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save furkantektas/6bcafe2cfdffeeab5583 to your computer and use it in GitHub Desktop.
Save furkantektas/6bcafe2cfdffeeab5583 to your computer and use it in GitHub Desktop.
Android DatePicker without year field.
public static class DatePickerFragment extends DialogFragment
implements DatePickerDialog.OnDateSetListener {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
// Use the current date as the default date in the picker
final Calendar c = Calendar.getInstance();
final int year = c.get(Calendar.YEAR);
final int month = c.get(Calendar.MONTH);
final int day = c.get(Calendar.DAY_OF_MONTH);
DatePickerDialog dpd = new DatePickerDialog(getActivity(), this, year, month, day);
try {
Field[] datePickerDialogFields = dpd.getClass().getDeclaredFields();
for (Field datePickerDialogField : datePickerDialogFields) {
if (datePickerDialogField.getName().equals("mDatePicker")) {
datePickerDialogField.setAccessible(true);
DatePicker datePicker = (DatePicker) datePickerDialogField
.get(dpd);
Field datePickerFields[] = datePickerDialogField.getType()
.getDeclaredFields();
for (Field datePickerField : datePickerFields) {
if ("mYearPicker".equals(datePickerField.getName())
|| "mYearSpinner".equals(datePickerField
.getName())) {
datePickerField.setAccessible(true);
Object dayPicker = new Object();
dayPicker = datePickerField.get(datePicker);
((View) dayPicker).setVisibility(View.GONE);
}
}
}
}
} catch (Exception ex) {
ex.printStackTrace();
}
dpd.setTitle("Set Date");
return dpd;
}
public void onDateSet(DatePicker view, int year, int month, int day) {
Calendar c = Calendar.getInstance();
c.set(c.get(Calendar.YEAR),month, day);
Date d = c.getTime();
// do something
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment