android - 从 DatePickerDialog 中删除年份

标签 android datepicker

我正在使用 Android 的基本 DatePickerDialog 教程,可在此处找到 Android Date Picker

我已经开始工作了。但我只想从今年挑一个日期。那么有没有办法把Dialog中的年去掉,只显示月和日呢?每次我尝试取出 Year int 时,它都会破坏代码。

最佳答案

是的,有可能。 DatePicker内置了三个NumberPicker控件,依次是年、月、日,先隐藏出来。

final Calendar cal = Calendar.getInstance();
mDialog = new CustomerDatePickerDialog(getContext(), this,
cal.get(Calendar.YEAR), cal.get(Calendar.MONTH),
cal.get(Calendar.DAY_OF_MONTH));
mDialog.show();
DatePicker dp = findDatePicker((ViewGroup) mDialog.getWindow().getDecorView());
if (dp != null) {
    ((ViewGroup) dp.getChildAt(0)).getChildAt(0).setVisibility(View.GONE);
} 

CustomerDatePickerDialog

class CustomerDatePickerDialog extends DatePickerDialog {
     public CustomerDatePickerDialog(Context context, OnDateSetListener callBack, int year, int monthOfYear, int dayOfMonth) {
         super(context, callBack, year, monthOfYear, dayOfMonth);
     }

     @Override
     public void onDateChanged(DatePicker view, int year, int month, int day) {
         super.onDateChanged(view, year, month, day);
         mDialog.setTitle((month + 1) + "-" + day + "-");
     }
}

日期选择器:

private DatePicker findDatePicker(ViewGroup group) {
        if (group != null) {
            for (int i = 0, j = group.getChildCount(); i < j; i++) {
                View child = group.getChildAt(i);
                if (child instanceof DatePicker) {
                    return (DatePicker) child;
                } else if (child instanceof ViewGroup) {
                    DatePicker result = findDatePicker((ViewGroup) child);
                    if (result != null)
                        return result;
                }
            }
        }
        return null;

    } 

关于android - 从 DatePickerDialog 中删除年份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10233760/

相关文章:

javascript - JQuery DatePicker -> dateformat,如何输出dayNamesMin而不是dayNamesShort?

javascript - 如何禁用 JQuery 日期选择器中的特定日期?

java - Android XML, Activity 编辑文本

android - 访问 OKHttp 响应正文

android - 如何在 android 中更改 EditText 气泡颜色(光标下)?

Android DatePicker 监听器未触发

reactjs - 如何限制React native ios/android日期选择器中的日期选择

android - 如何使用 FragmentManager 替代已弃用的 showDialog

java - 为什么调用notifyDataSetChanged时会发生NullPointerException?

jquery - Bootstrap datepicker 2.0 在月 View 中显示日历