【发布时间】:2019-11-19 06:02:40
【问题描述】:
我在寻找什么: 选择任意日期时,输出相应的日期字符串“Mon, Tue,...,Sun”
我做了什么: 我有一个编辑文本视图,用于选择日期,日期格式为 MM/dd/YY。 这很好用。
出了什么问题: 最初,当我选择一个日期(不是当前日期)字符串时,输出“当前日期”而不是我现在选择的那个。当我选择另一个日期时,字符串显示先前(在本例中为最初选择的日期)选择的日期。就像存储前一天的字符串一样。
我的代码:
Datelistner = CustomDateTimePicker.getCustomDatePicker(DateEditText,null,myCalander);
DateEditText.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
DatePickerDialog datePickerDialog = new DatePickerDialog(getContext(),Datelistner,
myCalander.get(Calendar.YEAR),
myCalander.get(Calendar.MONTH),
myCalander.get(Calendar.DAY_OF_MONTH));
selectedDateIndex = myCalander.get(Calendar.DAY_OF_WEEK);
ArrayList<String> dateString = new ArrayList<String>();
dateString.add("Sun");
dateString.add("Mon");
dateString.add("Tue");
dateString.add("Wed");
dateString.add("Thu");
dateString.add("Fri");
dateString.add("Sat");
selectedDate = dateString.get(selectedDateIndex - 1);
datePickerDialog.getDatePicker().setMinDate(new Date().getTime());
datePickerDialog.setCancelable(false);
datePickerDialog.show();
}
});
updateLabelAddEvent();
private void updateLabelAddEvent() {
String myFormat = "MM/dd/yy";
SimpleDateFormat sdf = new SimpleDateFormat(myFormat, Locale.getDefault());
DateEditText.setText(sdf.format(myCalander.getTime()));
}
我已经将字符串变量 (selectedDate) 和 int 变量 (selectedDateIndex) 定义为全局变量(在 oncreate 期间)。
我只是想知道如何解决这个问题。
【问题讨论】:
-
我相信您需要覆盖日期选择器的
onDateSet方法。这不是我的家乡,所以有些保留地说。 -
用什么覆盖?我的意思是预订是什么意思