Pri*_*dar 1 java android date datepicker
我正在使用两个datepickers一用于start date一个end date in one activity,每当我选择一个月时,它都会显示错误的数字。我尝试添加+1月份值,但由于有两个datepickers,我们必须跳过start datefor 选择之前的几天,因此它不起作用。代码如下:
public static class DatePickerFragment extends DialogFragment implements
DatePickerDialog.OnDateSetListener {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
// Use the current date as the default date in the picker
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 datePickerDialog;
datePickerDialog = new DatePickerDialog(getActivity(), this, year,
month, day);
return datePickerDialog;
}
public void onDateSet(DatePicker view, int year, int month, int day) {
// Do something with the date chosen by the user
cval_from.setText(day + "/" + month + "/" + year);
}
}
public static class ToDatePickerFragment extends DialogFragment implements
DatePickerDialog.OnDateSetListener {
// Calendar startDateCalendar=Calendar.getInstance();
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
// Use the current date as the default date in the picker
String getfromdate = cval_from.getText().toString().trim();
String getfrom[] = getfromdate.split("/");
int year, month, day;
year = Integer.parseInt(getfrom[2]);
month = Integer.parseInt(getfrom[1]);
day = Integer.parseInt(getfrom[0]);
final Calendar c = Calendar.getInstance();
c.set(year, month, day + 1);
DatePickerDialog datePickerDialog = new DatePickerDialog(getActivity(), this, year, month, day);
datePickerDialog.getDatePicker().setMinDate(c.getTimeInMillis());
return datePickerDialog;
}
public void onDateSet(DatePicker view, int year, int month, int day) {
cval_to.setText(day + "/" + month + "/" + year);
}
}
Run Code Online (Sandbox Code Playgroud)
这里,cval_from是start date和cval_to是end date,现在如果我添加month+1在cval_from该cval_to日期的选择,从下个月开始。例如,如果我选择26/1/2018的cval_from,我必须选择cval_to自27/1/2018起。整个月都被跳过了。
任何人都可以帮忙吗?
根据developer.android.com月份的范围从 0 到 11。
所以你需要把它加1。
public void onDateSet(DatePicker view, int year, int month, int day) {
int selectedMonth = month+1;
cval_to.setText(day + "/" + selectedMonth + "/" + year);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1519 次 |
| 最近记录: |