DatePickerDialog未在日期

时间:2016-11-22 07:40:10

标签: java android datepicker android-datepicker datepickerdialog

我正在使用 DatePickerDialog 并附带一些逻辑

逻辑就像使用if-else语句

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

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

要求:使用Spinner选择天数,使用DatePicker在Dialog中显示该特定日期

问题:问题是我在微调器中选择了第一项(在dtdob日期会增加1天),现在我选择了微调器第二项(必须在dtdob日期添加3天) )....但是当我点击DatePicker在DatePicker中显示相同的日期时(我在Spinner项目选择1的情况下得到)不是新的

例如dtdob日期 2015年12月15日

案例1:First Spinner项目已选中(获得 2015年12月16日) - 这是完全正确的

案例2:我选择Second Spinner项目(仍然 2015年12月16日),而我期待 2015年12月18日

代码:

@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;
}

部分:正在提取号码

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

            }
        });

1 个答案:

答案 0 :(得分:0)

您能否发布您定义号码的代码部分。您的日期增量代码似乎没问题。