2015-06-06 2 views
1

Я построил диалог выбора даты, и я хотел бы начать его с определенной даты и скрыть все годы после 1995 года. Как я могу это сделать?Начальная датаПакер-диалог с определенной даты

Мой код:

@Override 
protected Dialog onCreateDialog(int id) { 
    switch (id) { 
    case DATE_PICKER_ID: 

     return new DatePickerDialog(this, pickerListener, year, month,day); 
    } 
    return null; 
} 

private DatePickerDialog.OnDateSetListener pickerListener = new DatePickerDialog.OnDateSetListener() { 

    // when dialog box is closed, below method will be called. 


    @Override 
    public void onDateSet(DatePicker view, int selectedYear, 
      int selectedMonth, int selectedDay) { 

     year = selectedYear; 
     month = selectedMonth; 
     day = selectedDay; 

     // Show selected date 
     output.setText(new StringBuilder().append(year) 
       .append("-").append(month + 1).append("-").append(day) 
       .append(" ")); 


     } 
    }; 

Спасибо.

ответ

0

Чтобы скрыть все после 1995 года, вы coud использовать JodaTime и установить максимальный срок, как это:

dialog.getDatePicker().setMaxDate(new DateTime(1995, 0, 0, 0, 0).getMillis()); 
0
 Calendar c = Calendar.getInstance(); 
     int mYear = c.get(Calendar.YEAR); 
     int mMonth = c.get(Calendar.MONTH); 
     int mDay = c.get(Calendar.DAY_OF_MONTH); 

     DatePickerDialog dialog = 
     new DatePickerDialog(this, mDateSetListener, mYear, mMonth, mDay); 
     dialog.show(); 
+0

Можете ли вы сказать мне, что вы изменили и почему? –

+0

Шаг 1 Я объявил объект календаря, и я получил текущий год месяц и день от него. Шаг 2 Я прошел текущий день месяца, месяц в конструкторе datepicker, поэтому, когда datepicker инициализируется текущей датой и показывает текущую дату, когда это видно –

Смежные вопросы