close

This manner uses recursive reflection to forcely set some views as View.GONE

 

DatePickerDialog datePickerDialog = getMonthPickerDialog();
datePickerDialog.show();

 

DatePickerDialog.OnDateSetListener mDateSetListner = new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
mCurrentYear = year;
mCurrentMonth = monthOfYear + 1;
refresh();
}
};

 

private DatePickerDialog getMonthPickerDialog() {
DatePickerDialog dpd = new DatePickerDialog(getActivity(), mDateSetListner,
mCalendar.get(Calendar.YEAR), mCalendar.get(Calendar.MONTH), mCalendar.get(Calendar.DAY_OF_MONTH));
dpd.setTitle("");
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 ("mDayPicker".equals(datePickerField.getName())
|| "mDaySpinner".equals(datePickerField.getName())) {
datePickerField.setAccessible(true);
Object dayPicker = new Object();
dayPicker = datePickerField.get(datePicker);
((View) dayPicker).setVisibility(View.GONE);
}
}
}
}
} catch (Exception e) {
}
return dpd;
}

 

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 擒猿小舖 的頭像
    擒猿小舖

    擒猿小舖

    擒猿小舖 發表在 痞客邦 留言(0) 人氣()