简体   繁体   中英

DatePickerDialog not adding days in Date

I am using DatePickerDialog with some logic around it

Logic like using if-else statement

if(number == 1) // then add 1 day

else if (number == 2) // then add 3 days

REQUIREMENT: Using Spinner to select number of days and DatePicker to show that particular date in Dialog

ISSUE: The thing is I have selected Item one in spinner (which will add 1 day in dtdob date), now I have selected spinner Item two (which has to add 3 days in dtdob date).... but when I do tap on DatePicker showing the same date in DatePicker (which I got in case of Spinner Item selection 1) not the new ones

For example dtdob date is 15 Dec 2015

Case 1: First Spinner Item selected (getting 16 Dec 2015 ) - which is totally correct

Case 2: I have chosen Second Spinner Item (still getting 16 Dec 2015 ) whereas I was expecting 18 Dec 2015

Code:

@Override
protected Dialog onCreateDialog(int id) {
    switch (id) {
        case DATE_DIALOG_ID1:
            // set date picker as current date
            DatePickerDialog dpDialog1 = new DatePickerDialog(this, datePickerListener1, year1, month1, day1);
            DatePicker datePicker1 = dpDialog1.getDatePicker();
            Calendar c = Calendar.getInstance();//get the current day
            c.setTime(dtdob); // this is the date I am getting from somewhere
            if (number == 1) {
                c.add(Calendar.DATE, 1);
            } else if (number == 2) {
                c.add(Calendar.DATE, 3);
            } else if (number == 3) {
                c.add(Calendar.DATE, 7);
            } else {
                c.add(Calendar.DATE, 1);
            }

            datePicker1.setMinDate(c.getTimeInMillis());
            return dpDialog1;


    }
    return null;
}

Portion: Number is being fetched

spinner1.setOnItemSelectedListener(new OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent,
                                       View view, int position, long id) {
                number = spinner1.getSelectedItemPosition();

            }

            @Override
            public void onNothingSelected(AdapterView<?> arg0) {
                // TODO Auto-generated method stub

            }
        });

Can you please post the code portion where you define number. Your Date increment code seems fine.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM