即使我添加+ 1,DatePicker的日历也会在上个月返回

Apa*_*ith 2 java android calendar datepicker

我试图从Calendar对象获取Year-Month-Day,我知道从index为0开始月份.所以我在月份对象中添加了+1.但它仍然是从选择到日期选择器的最后一个月.

我哪里错了?

这就是我的尝试方式.

这是我的fragmentActivity

public class MyDatePickerFragment extends DialogFragment implements DatePickerDialog.OnDateSetListener {

    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        final Calendar calendar = Calendar.getInstance();
        int day = calendar.get(Calendar.DAY_OF_MONTH);
        int month = calendar.get(Calendar.MONTH) + 1;
        int year = calendar.get(Calendar.YEAR);
        DatePickerDialog myDatePicker =
                new DatePickerDialog(getActivity(), this, year, month, day);
        return myDatePicker;
    }

    @Override
    public void onDateSet(DatePicker datePicker, int year, int month, int day) {
        EditText et = (EditText) getActivity().findViewById(R.id.editTextDate1);
        et.setText(year+"-"+month+"-"+day);
    }

}
Run Code Online (Sandbox Code Playgroud)

这是我的MainActivity

EditText ed2;
ed2 = (EditText) findViewById(R.id.editTextDate2);
ed2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                DialogFragment myDatePickerFragment = new MyDatePickerFragmentTo();
                myDatePickerFragment.show(getSupportFragmentManager(),"datePicker");
            }
        });
Run Code Online (Sandbox Code Playgroud)

laa*_*lto 5

onDateSet()文档中所述,调用基于零的月份:

monthOfYear为与...兼容而设置的月份(0-11)Calendar.

您也需要在那里调整月份值.