как установить конкретный месяц или год для выбора в datepicker?

В моем приложении я хочу, чтобы пользователь выбирал дату прошлого года, например, с 1 января по 31 декабря 2016 года. Я пробовал установить mindate и maxdate....

public static class LastYearBirthDatePicker extends DialogFragment
        implements DatePickerDialog.OnDateSetListener {
    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        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);

        DatePickerDialog dialog = new DatePickerDialog(getActivity(), this, year, month, day);
        int lastYear = getCurrentYear()-1;
        Calendar min = Calendar.getInstance();
        min.set(Calendar.DAY_OF_MONTH,1);
        min.set(Calendar.MONTH,0);
        min.set(Calendar.YEAR,lastYear);
        dialog.getDatePicker().setMinDate(min.getTimeInMillis());
        Calendar max = Calendar.getInstance();
        max.set(Calendar.DAY_OF_MONTH,31);
        max.set(Calendar.MONTH,11);
        max.set(Calendar.YEAR,lastYear);
        dialog.getDatePicker().setMaxDate(max.getTimeInMillis());
        return dialog;
    }

    public void onDateSet(DatePicker view, int year, int month, int day) {


    }
}

но есть ли лучший вариант для установки только определенного года И мне нужно то же самое для определенного месяца, как и для любого месяца в 2016 году (пользователь может выбрать любой день в определенном месяце)


person Praveen Sharma    schedule 03.11.2017    source источник
comment
Это не работает или работает не так, как ожидалось?   -  person user5226582    schedule 03.11.2017
comment
stackoverflow.com/questions/46842365/ взгляните на мой ответ.!   -  person Atif AbbAsi    schedule 03.11.2017


Ответы (1)


Вы можете установить вот так

Calendar cal = Calendar.getInstance();
cal.set(2016, 01, 01);
cal.add(Calendar.YEAR, 1);

int xxday = cal.get(Calendar.DATE);
int xxmonth = cal.get(Calendar.MONTH);
int xxyear = cal.get(Calendar.YEAR);

datepicker.init(xxyear, xxmonth, xxday, null);
person Tejas Pandya    schedule 03.11.2017