【问题标题】:Select month and year range (without days) Android选择月份和年份范围(不含天) Android
【发布时间】:2017-10-19 05:16:00
【问题描述】:

也许有人知道选择范围的组件(视图)?喜欢:

Select from:      select to:
month+year        month+year

我在 gitHub 上找到了 datePicker 视图,只有天数选择范围: github

但在这个组件中绘制日期:(

【问题讨论】:

标签: android date range datechooser


【解决方案1】:

看到这个问题: Android DatePicker change to only Month and Year

我会在 cmets 中发布,但我没有这样做的权限。

有比 Pratik Kate 的答案更多的选择。

编辑:我知道这些解决方案不提供范围选择,但我认为可以使用两个选择器轻松解决 - 'from-to'。

查看屏幕截图,例如在这个项目中:Material Date and Time Picker with Range Selection

我认为它看起来不错。我可以想象,当被要求仅使用一个选择器选择范围时(必须使用某种长按或拖动事件?),许多用户会感到困惑。

【讨论】:

  • 是的,我较早地创建了这个 DatePicker。该组件没有范围选择功能
  • 是的。你说得对。我想用 2 DatePicker 进行对话,没有选择日期
【解决方案2】:

试试下面的代码。它会显示一个只有年月(没有日)的 DatePicker

private DatePickerDialog createDialogWithoutDateField() {
    DatePickerDialog dpd = new DatePickerDialog(this, null, 2014, 1, 24);
    try {
        java.lang.reflect.Field[] datePickerDialogFields = dpd.getClass().getDeclaredFields();
        for (java.lang.reflect.Field datePickerDialogField : datePickerDialogFields) {
            if (datePickerDialogField.getName().equals("mDatePicker")) {
                datePickerDialogField.setAccessible(true);
                DatePicker datePicker = (DatePicker) datePickerDialogField.get(dpd);
                java.lang.reflect.Field[] datePickerFields = datePickerDialogField.getType().getDeclaredFields();
                for (java.lang.reflect.Field datePickerField : datePickerFields) {
                    Log.i("test", datePickerField.getName());
                    if ("mDaySpinner".equals(datePickerField.getName())) {
                        datePickerField.setAccessible(true);
                        Object dayPicker = datePickerField.get(datePicker);
                        ((View) dayPicker).setVisibility(View.GONE);
                    }
                }
            }
        }
    } 
    catch (Exception ex) {
    }
    return dpd;
}

此方法返回一个日期选择器对话框。因此,在按钮的 onClick 方法中添加以下代码以显示您的对话框。

createDialogWithoutDateField().show();

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-21
  • 1970-01-01
  • 2017-12-10
  • 2016-10-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多