正如你所說,DatePickerDialog標題格式取決於在DatePickerDialog構造函數中初始化的「mTitleDateFormat」, 像這樣:mTitleDateFormat = java.text.DateFormat。 getDateInstance(java.text.DateFormat.FULL);
但是mTitleDateFormat是私有的,外層不能修改。所以你可以擴展類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");
};
}
我確實找到了答案。如果我擴展DatePickerDialog,我可以對它進行更多的控制,並根據我的喜好修改標題。 – srowley 2011-04-13 04:03:48