仍然是新手,我对DatePicker有疑问。 我通过OnClick或EditText具有焦点时调用DatePicker。当用户选择一个日期时,我想在EditText中将其显示为格式化为当前设置的系统用户区域设置。
我已经完成了以下代码,但是eclipse说'getDateFormat'不适用。
我希望你能帮助我解决这个问题,因为我真的不明白这个问题。
我甚至不确定我是否正确使用字符串'selectedDate'。
谢谢!
public void onFocusChange(View v, boolean hasFocus) {
if (v == txtDate) {
if(hasFocus == true){
// Process to get Current Date
final Calendar c = Calendar.getInstance();
mYear = c.get(Calendar.YEAR);
mMonth = c.get(Calendar.MONTH);
mDay = c.get(Calendar.DAY_OF_MONTH);
// Launch Date Picker Dialog
DatePickerDialog dpd = new DatePickerDialog(this,
new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year,
int monthOfYear, int dayOfMonth) {
// Display Selected date in edit text
String selectedDate = dayOfMonth + "-" + (monthOfYear + 1) + "-" + year;
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
Date date = null;
try {
date = sdf.parse(selectedDate);
} catch (ParseException e) {
// handle exception here !
}
java.text.DateFormat dateFormat = android.text.format.DateFormat.getDateFormat(this);
String s = dateFormat.format(date);
txtDate.setText(s);
}
}, mYear, mMonth, mDay);
dpd.show();
}}
答案 0 :(得分:0)
传递给getDateFormat()的参数必须是android.content.Context
。您正在传递DatePickerDialog.OnDateSetListener
实例。如果此代码位于名为Activity
的{{1}}内,请尝试传递Foo
而不是Foo.this
。