【发布时间】:2015-11-18 06:50:32
【问题描述】:
大家好,我需要有关日期选择器对话框的帮助,因为我将它的值保存到 onDateSet 内的变量中:“selectedYear”、“selectedMonth”、“selectedDay” 这些是在类中声明为私有的变量。我的问题是在使用格式日期函数格式化日期后,变量的值又回到了空,这就是为什么我创建了一个新函数来保存它们,我知道这是一个混乱的举动,我想知道为什么是变量变空了,什么是此代码的更好修复方法。非常感谢
datePickerDialog = new DatePickerDialog(this, new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
Calendar newDate = Calendar.getInstance();
newDate.set(year, monthOfYear, dayOfMonth);
selectedYear = year;
selectedMonth = monthOfYear;
selectedDay = dayOfMonth;
setDateEdit.setText(formatDate(selectedYear, selectedMonth, selectedDay));
}
}, c.get(Calendar.YEAR), c.get(Calendar.MONTH), c.get(Calendar.DAY_OF_MONTH));
private String formatDate(int year, int month, int day) {
saveDateToVar(year,month,day);
Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(0);
cal.set(year, month, day);
Date date = cal.getTime();
SimpleDateFormat sdf = new SimpleDateFormat("MMM dd, yyyy");
return sdf.format(date);
}
private void saveDateToVar(int year, int month, int day){
savedYear = year;
savedDay = day;
savedMonth = month;
}
【问题讨论】:
-
您可以使用stackoverflow.com/questions/32960426/… 进行日期和时间标记对话框。