我希望日历显示用户只有一年的日期和休息将被禁用过去它工作正常。但现在我想这样,用户可以从当前日期只选择一年的日历。这是我的代码。请告诉我这些变化。
textView1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
showDialog(DATE_DIALOG_ID);
}
});
protected Dialog onCreateDialog(int id) {
final Calendar now = Calendar.getInstance();
switch (id) {
case DATE_DIALOG_ID:
// set date picker as current date
DatePickerDialog _date = new DatePickerDialog(this, date,myCalendar
.get(Calendar.YEAR), myCalendar.get(Calendar.MONTH),
myCalendar.get(Calendar.DAY_OF_MONTH)){
@Override
public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth)
{
if (year < now.get(Calendar.YEAR))
view.updateDate(myCalendar
.get(Calendar.YEAR), myCalendar
.get(Calendar.MONTH), myCalendar.get(Calendar.DAY_OF_MONTH));
if (monthOfYear < now.get(Calendar.MONTH) && year == now.get(Calendar.YEAR))
view.updateDate(myCalendar
.get(Calendar.YEAR), myCalendar
.get(Calendar.MONTH), myCalendar.get(Calendar.DAY_OF_MONTH));
if (dayOfMonth < now.get(Calendar.DAY_OF_MONTH) && year == now.get(Calendar.YEAR) &&
monthOfYear == now.get(Calendar.MONTH))
view.updateDate(myCalendar
.get(Calendar.YEAR), myCalendar
.get(Calendar.MONTH), myCalendar.get(Calendar.DAY_OF_MONTH));
}
};
return _date;
}
return null;
}
答案 0 :(得分:0)
尝试创建一个日历,而不是调用Calender.getInstance();
日历minCal = new GregorianCalendar(2013,Calendar.JANUARY,1);
答案 1 :(得分:0)
获取当前日期。然后将年份值增加一。然后使用setMaxDate函数作为How set maximum date in datepicker dialog in android?问题显示。
答案 2 :(得分:0)
在setMinDate()
上使用setMaxDate()
和DatePicker
。您可以使用DatePickerDialog
从getDatePicker()
访问它(需要API级别11)。
http://developer.android.com/reference/android/widget/DatePicker.html