Android DatePickerDialog,用于设置MaxDate和维护以前选择的日期
我面临一个奇怪的问题,我创建了一个自定义DatePickerDialog来维护以前选择的日期,但不幸的是每次都设置了setMaxDate日期。当我单击“显示日期选择器”对话框时:-( 我的听众:Android DatePickerDialog,用于设置MaxDate和维护以前选择的日期,android,datepickerdialog,Android,Datepickerdialog,我面临一个奇怪的问题,我创建了一个自定义DatePickerDialog来维护以前选择的日期,但不幸的是每次都设置了setMaxDate日期。当我单击“显示日期选择器”对话框时:-( 我的听众: edtSubstrateChanged.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { openCalen
edtSubstrateChanged.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
openCalendarDailog(edtSubstrateChanged.getText().toString(), SUBSTRATE);
}
});
打开日志的方法:
public void openCalendarDailog(String strDate, int clickedEditext) {
int day = -1, month = -1, year = -1;
if (!strDate.isEmpty()) {
String[] strings = strDate.split("-");
day = Integer.parseInt(strings[0]);
month = Integer.parseInt(strings[1]);
year = Integer.parseInt(strings[0]);
}
this.clickedEditext = clickedEditext;
Bundle bundle = new Bundle();
bundle.putInt(CustomDatePickerDialog.DAY, day);
bundle.putInt(CustomDatePickerDialog.MONTH, month);
bundle.putInt(CustomDatePickerDialog.YEAR, year);
mCustomDatePickerDialog = new CustomDatePickerDialog();
mCustomDatePickerDialog.setListener(this);
mCustomDatePickerDialog.setArguments(bundle);
mCustomDatePickerDialog.show(getSupportFragmentManager().beginTransaction(), "Date");
}
在显示日期选择器片段时,需要使用新值再次设置参数。在显示片段之前,是否对片段执行
setArguments()
?是的,我每次都在编辑文本上更新setArguments。但是如果我删除setMaxDate(date.getTime)它工作正常,但使用它将当前日期设置为我以前选择的日期的选定日期。@AbhishekJain是否可以在启动此CustomDatePickerDialog
?@AbhishekJain检查编辑!!
public void openCalendarDailog(String strDate, int clickedEditext) {
int day = -1, month = -1, year = -1;
if (!strDate.isEmpty()) {
String[] strings = strDate.split("-");
day = Integer.parseInt(strings[0]);
month = Integer.parseInt(strings[1]);
year = Integer.parseInt(strings[0]);
}
this.clickedEditext = clickedEditext;
Bundle bundle = new Bundle();
bundle.putInt(CustomDatePickerDialog.DAY, day);
bundle.putInt(CustomDatePickerDialog.MONTH, month);
bundle.putInt(CustomDatePickerDialog.YEAR, year);
mCustomDatePickerDialog = new CustomDatePickerDialog();
mCustomDatePickerDialog.setListener(this);
mCustomDatePickerDialog.setArguments(bundle);
mCustomDatePickerDialog.show(getSupportFragmentManager().beginTransaction(), "Date");
}