【问题标题】:Display datepicker dialog from current month and date android从当前月份和日期android显示日期选择器对话框
【发布时间】:2015-11-19 06:04:23
【问题描述】:

我只想显示当前月份的日期选择器对话框,而不是年份。我已经使用 setMin 到当前日期,它工作正常,但我仍然可以回到 2015 年 1 月,即使它不可选择。如何让它发挥作用?

public void show() {
    Calendar now = Calendar.getInstance();

     DatePickerDialog dpd = DatePickerDialog.newInstance(
        Post.this,
        now.get(Calendar.YEAR),
        now.get(Calendar.MONTH),
        now.get(Calendar.DAY_OF_MONTH)
    );

    dpd.setMinDate(now.getInstance());
    now.add(Calendar.DAY_OF_MONTH, 30);

    dpd.setMaxDate(now);

    dpd.show(getFragmentManager(), "Datepickerdialog");
}

【问题讨论】:

    标签: java android datepicker


    【解决方案1】:

    在下面尝试它不会显示过去的日期。它会显示当前日期。

      final Calendar calendar = Calendar.getInstance();
      int year = calendar.get(Calendar.YEAR);
      int month = calendar.get(Calendar.MONTH);
      int day = calendar.get(Calendar.DAY_OF_MONTH);
      DatePickerDialog dpd = new DatePickerDialog(this,
                             AlertDialog.THEME_HOLO_LIGHT, this, year, month, day);
      dpd.show();
      calendar.add(Calendar.DATE, 0);
      // Set the Calendar new date as minimum date of date picker
      dpd.getDatePicker().setMinDate(calendar.getTimeInMillis());
                             (or)
     dpd.setMinDate(System.currentTimeMillis() - 1000); 
    

    【讨论】:

    • @spykeburn 你能告诉我你的代码它是工作代码我正在使用它
    • 现在日历 = Calendar.getInstance(); now.add(日历.DATE, 0); DatePickerDialog dpd = DatePickerDialog.newInstance( PostInfo.this, now.get(Calendar.YEAR), now.get(Calendar.MONTH), now.get(Calendar.DAY_OF_MONTH) ); dpd.setMinDate(now.getInstance()); now.add(Calendar.DAY_OF_MONTH, 30); dpd.setMaxDate(现在);
    • @spykeburn 你能用我的代码替换你的代码吗?我的代码有变化。这对我来说很好。
    • 如果我添加 dpd.setMinDate(calendar.getTimeInMillis());它说 setmindate (java.util.calendar) 不能应用于 long
    • @spykeburn 你需要添加如下所示 dpd.getDatePicker().setMinDate(calendar.getTimeInMillis());
    【解决方案2】:

    给你,这可以工作。

    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;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-03
      • 1970-01-01
      • 2014-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多