DatePickerDialog で年または日を非表示にする方法を知っていました。リフレクトを使用します。しかし、月には機能しないことがわかりました。フィールド mMonthSpinner または mMonthPicker が見つかりません。ソースコードでそれらを本当に見つけたので、それは非常に奇妙です。
DatePicker datePicker = findDatePicker((ViewGroup) this.getWindow()
.getDecorView());
if (datePicker != null) {
Class pickerClass = datePicker.getClass();
Field[] fields = pickerClass.getDeclaredFields();
for (Field field : fields) {
String fieldName = field.getName();
Log.d(tag,fieldName);
}
}
このコードはログを出力します:
DATE_FORMAT
DEFAULT_CALENDAR_VIEW_SHOWN
DEFAULT_ENABLED_STATE
DEFAULT_END_YEAR
DEFAULT_SPINNERS_SHOWN
DEFAULT_START_YEAR
LOG_TAG
TW_DEBUG
商品名
mYearSpinnerInput
ミイヤースピナー
mYearIncrementButton
mYearDecrementButton
mTempDate
mSpinners
mShortMonths
mCalendarView
mCurrentDate
mCurrentLocale
mDateFormat
mDayDecrementButton
mDayIncrementButton
mDaySpinner
ほら、そこに月はありません。では、どうすれば月を非表示にできますか? 私のSDKは4.4.2です。助けが必要!!!!!!!!!!