DatePicker getDateFormat不适用

时间:2014-07-17 16:50:02

标签: android datepicker

仍然是新手,我对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();
    }}

1 个答案:

答案 0 :(得分:0)

传递给getDateFormat()的参数必须是android.content.Context。您正在传递DatePickerDialog.OnDateSetListener实例。如果此代码位于名为Activity的{​​{1}}内,请尝试传递Foo而不是Foo.this