当前位置: 首页 > 知识库问答 >
问题:

只有日和月的Android日期选择器

苏浩瀚
2023-03-14

我正在寻找一种方法来定制Android中的日期选择器,使其只显示日和月(即没有年)。

    Dialog dlg = new DatePickerDialog(context, datePickerListener, dueDateCalendar.get(Calendar.YEAR), dueDateCalendar.get(Calendar.MONTH), dueDateCalendar.get(Calendar.DAY_OF_MONTH));
    try {
        Field f[] = dlg.getClass().getDeclaredFields();
        for (Field field : f) {
            String name = field.getName();
            if (name.equals("YEAR")){
                field.setAccessible(true);
                Object dayPicker = new Object();
                dayPicker = field.get(dlg);
                ((View) dayPicker).setVisibility(View.GONE);
            }
        }
    } catch (Exception e){
        // TODO: should not happen
        e.printStackTrace();
    }
    return dlg;

有什么想法吗?

共有1个答案

房子昂
2023-03-14

来试试吧。它的APIV11+,但在较低的API版本上还有其他方法。

DatePickerDialog dlg = new DatePickerDialog(context, datePickerListener, 
    dueDateCalendar.get(Calendar.YEAR), 
    dueDateCalendar.get(Calendar.MONTH), 
    dueDateCalendar.get(Calendar.DAY_OF_MONTH));
int year = context.getResources().getIdentifier("android:id/year", null, null);
if(year != 0){
    View yearPicker = dlg.getDatePicker().findViewById(year);
    if(yearPicker != null){
        yearPicker.setVisibility(View.GONE);
    }
}
return dlg;

更新的代码:这应该可以完成工作。

DatePickerDialog dlg = new DatePickerDialog(context, datePickerListener, 
    dueDateCalendar.get(Calendar.YEAR), 
    dueDateCalendar.get(Calendar.MONTH), 
    dueDateCalendar.get(Calendar.DAY_OF_MONTH))
{
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        int year = getContext().getResources()
            .getIdentifier("android:id/year", null, null);
        if(year != 0){
            View yearPicker = findViewById(year);
            if(yearPicker != null){
                yearPicker.setVisibility(View.GONE);
            }
        }
    }
};
return dlg;
 类似资料:
  • elementUI 日期选择器,选择开始日期之后,结束日期只能选择,12月以内的。怎么判断?

  • 本文向大家介绍Android 日期选择器,包括了Android 日期选择器的使用技巧和注意事项,需要的朋友参考一下 示例 DatePicker允许用户选择日期。创建的新实例时DatePicker,我们可以设置初始日期。如果我们不设置初始日期,那么默认情况下将设置当前日期。 我们可以DatePicker使用DatePickerDialog或通过使用DatePicker小部件创建我们自己的布局来向用户

  • 我使用了日期选择器,并将最大日期应用为2020年2月11日,而今天的日期是2019年2月12日。 我有一个问题,而改变年直接点击‘年’在日期选择器顶部。当日期选择器在当前日期(今天的日期:2019年2月12日)初始化时,如果我将年份更改为2020年2月12日,日期选择器将显示2020年2月12日作为标题,但在日历视图中选择的日期是选择的2月11日。 见以下图像::

  • 本文向大家介绍Android日期选择器实现年月日三级联动,包括了Android日期选择器实现年月日三级联动的使用技巧和注意事项,需要的朋友参考一下 最近项目里面用到了一个日期选择器,实现现在主流的WheelView滑动选择,整理了下,做了个Demo.废话不多说,直接上代码. 主布局:activity_main.xml MainActivity: 主要的类: 底部弹出框布局: 运行效果图: 以上就是

  • 我想有一个日期选择器,用户可以从日期选择器中只选择月份和年份,我还需要限制从以前的日期选择器中选择月份和年份的下一个日期选择器... 有人能帮我解脱吗?

  • 我正在尝试实现日期选择器对话框,但该对话框显示只有一个日期,并显示日期的其余部分为空白,这可能是什么原因?