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.