我想把日期的限制,以便用户不能选择更多的日期,例如,如果今天是1月1日,那么用户不应该能够选择超过7个日期,我的意思是他不能选择1月9日。我也希望他不要选择月份和年份。所以我限制他在一周内完成任务。
到目前为止,我所做的是显示日期选择器片段并在其中设置当前日期。我的主活动中的代码如下所示:
etSelectDate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
DialogFragment datePickerFragment = new DatePickerFragment() {
@Override
public void onDateSet(DatePicker view, int year, int month, int day) {
Log.d("Date Change", "onDateSet");
Calendar c = Calendar.getInstance();
c.set(year, month, day);
DateFormat df = DateFormat.getDateInstance();
etSelectDate.setText(df.format(c.getTime()));
//nextField.requestFocus(); //moves the focus to something else after dialog is closed
}
};
datePickerFragment.show(MainActivity.this.getSupportFragmentManager(), "datePicker");
}
});
日期选择器片段类如下所示:
public static class DatePickerFragment extends DialogFragment implements DatePickerDialog.OnDateSetListener{
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
// Use the current date as the default date in the picker
final Calendar c = Calendar.getInstance();
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH);
int day = c.get(Calendar.DAY_OF_MONTH);
// Create a new instance of DatePickerDialog and return it
return new DatePickerDialog(getActivity(), this, year, month, day);
}
@Override
public void onDateSet(DatePicker view, int year, int month, int day) {
//blah
}
}
pickerDialog.getDatePicker().setMaxDate(new Date().getTime());
它将当前日期设置为最大日期,但我如何添加7天前,因为它是日期对象?请帮忙
您可以使用setmindate(long)
和setmaxdate(long)
方法。这两种方法都适用于API级别11及以上。由于您使用的是DatePickerDialog
,因此首先需要通过调用getDatePicker()
方法来获取底层的DatePicker。
dpdialog.getDatePicker().setMinDate(minDate);
dpdialog.getDatePicker().setmaxDate(maxDate);
来源:在Android中设置DatePickerDialog的限制?
可以通过使用,
Date today = new Date();
Calendar c = Calendar.getInstance();
c.setTime(today);
c.add( Calendar.MONTH, -6 ) // Subtract 6 months
long minDate = c.getTime().getTime() // Twice!
return new DatePickerDialog(getActivity(), this, year, month, day);
// Create a new instance of DatePickerDialog and return it
DatePickerDialog pickerDialog = new DatePickerDialog(getActivity(), this, year, month, day);
pickerDialog.getDatePicker().setMaxDate(maxDate);
pickerDialog.getDatePicker().setMinDate(minDate);
return pickerDialog;
问题内容: 我创建了一个活动,其中有一个用于插入用户出生日期的字段。我已经使用日期选择器来实现此目的。 这是我正在做的源代码: 现在,我要做的是将日期选择器限制为特定年份。 像这样: 我应该怎么做才能将上述边界设置为日期选择器? // - - - - - - - - 编辑 - - - - - - - - - - - - - - 我做了这样的事情: 这是固定上限,但下限或minDate尚未固定! 什
我正在尝试实现日期选择器对话框,但该对话框显示只有一个日期,并显示日期的其余部分为空白,这可能是什么原因?
此代码仅在我保存笔记时显示日期,它不允许我为我的活动选择日期
我在活动中使用了一个类来创建日期选择器对话框,它一直在工作,直到我迁移到android studio。以下是课程: 类StartDatePicker现在引发了一个错误:这个片段类应该是公共的。在我将其声明为public之后,它引发了另一个错误:这个片段内部类应该是静态的。我不想将其声明为静态的,因为私有void showDate(int year,int month,int day,int day
我想要一个日期选择器只显示月份和年份。我已经定制了日期选择器来这样做,即,从选择器中移除“Day”字段,但在Android中,Lollipop得到的选择器有Day、Month和year。下面是我的一段代码。请帮我弄清楚问题所在。提前道谢。
我已经记录了用于从日期选择器中选择日期的selenium代码。在运行测试用例时,日期选择器会弹出并正确突出显示所选日期。但是没有选择日期。代码如下所示:- 此异常仅出现在记录的代码中。我使用的是selenium-server-standalone-2 . 45 . 0 jar。