gpt4 book ai didi

Android DatePickerDialog 标题问题

转载 作者:行者123 更新时间:2023-11-29 16:23:53 27 4
gpt4 key购买 nike

我已经实现了 DatePickerDialog,它可以正常工作。但是,标题似乎没有格式。例如,它应该显示为:2011 年 4 月 12 日,星期二。但它显示为 3, 2011 4 12。

源代码看起来应该格式化标题,但它不是:

private void updateTitle(int year, int month, int day) {
mCalendar.set(Calendar.YEAR, year);
mCalendar.set(Calendar.MONTH, month);
mCalendar.set(Calendar.DAY_OF_MONTH, day);
setTitle(mTitleDateFormat.format(mCalendar.getTime()));
}

最佳答案

如您所说,DatePickerDialog 标题格式取决于在 DatePickerDialog 构造函数中初始化的“mTitleDateFormat”,像这样:mTitleDateFormat = java.text.DateFormat。 getDateInstance(java.text.DateFormat.FULL);

但是mTitleDateFormat是私有(private)的,外部不能修改。所以你可以扩展类DatePickerDialog。

以下代码在我的工作中运行良好。类代码:

class DatePickerDialog extends android.app.DatePickerDialog {
public DatePickerDialog(Context context, OnDateSetListener callBack,
int year, int monthOfYear, int dayOfMonth) {
super(context, callBack, year, monthOfYear, dayOfMonth);
updateTitle(year, monthOfYear, dayOfMonth);
}
public void onDateChanged(DatePicker view, int year,
int month, int day) {
updateTitle(year, month, day);
}
private void updateTitle(int year, int month, int day) {
Calendar mCalendar = Calendar.getInstance();
mCalendar.set(Calendar.YEAR, year);
mCalendar.set(Calendar.MONTH, month);
mCalendar.set(Calendar.DAY_OF_MONTH, day);
setTitle(getFormat().format(mCalendar.getTime()));
}
/*
* the format for dialog tile,and you can override this method
*/
public SimpleDateFormat getFormat(){
return new SimpleDateFormat("yyyy-MM-dd");
};
}

关于Android DatePickerDialog 标题问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5644090/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com