Select 月份和年份范围(不含天数)Android
Select month and year range (without days) Android
也许有人知道 select 范围内的组件(视图)?喜欢:
Select from: select to:
month+year month+year
我发现 gitHub 上的 datePicker 视图仅在 select 天范围内:
github
但在此组件中绘制日期:(
试试下面的代码。它将显示一个只有年和月(没有日)的 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;
}
此方法returns 一个日期选择器对话框。因此,在您按钮的 onClick 方法中添加以下代码以显示您的对话框。
createDialogWithoutDateField().show();
看到这个问题:
Android DatePicker change to only Month and Year
我会在评论中post,但我没有这样做的权限。
选项比 Pratik Kate 的答案多。
编辑:我知道这些解决方案不提供范围 selection,但我认为使用两个选择器可以轻松解决 - 'from-to'.
查看屏幕截图,例如在这个项目中:Material Date and Time Picker with Range Selection
我觉得可以很好看。我可以想象许多用户在被要求仅使用一个选择器 select 范围时会感到困惑(必须使用某种长按或拖动事件?)。
也许有人知道 select 范围内的组件(视图)?喜欢:
Select from: select to:
month+year month+year
我发现 gitHub 上的 datePicker 视图仅在 select 天范围内: github
但在此组件中绘制日期:(
试试下面的代码。它将显示一个只有年和月(没有日)的 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;
}
此方法returns 一个日期选择器对话框。因此,在您按钮的 onClick 方法中添加以下代码以显示您的对话框。
createDialogWithoutDateField().show();
看到这个问题: Android DatePicker change to only Month and Year
我会在评论中post,但我没有这样做的权限。
选项比 Pratik Kate 的答案多。
编辑:我知道这些解决方案不提供范围 selection,但我认为使用两个选择器可以轻松解决 - 'from-to'.
查看屏幕截图,例如在这个项目中:Material Date and Time Picker with Range Selection
我觉得可以很好看。我可以想象许多用户在被要求仅使用一个选择器 select 范围时会感到困惑(必须使用某种长按或拖动事件?)。