DatePickerFragment给了我一个错误

时间:2017-11-10 06:40:16

标签: android datepicker

onCreate()中添加了此内容。发现这是对有关datepickers的问题的答案。

    final DatePickerDialog.OnDateSetListener date = new DatePickerDialog.OnDateSetListener() {

        @Override
        public void onDateSet(DatePicker view, int year, int monthOfYear,
                              int dayOfMonth) {
            // TODO Auto-generated method stub
            myCalendar.set(Calendar.YEAR, year);
            myCalendar.set(Calendar.MONTH, monthOfYear);
            myCalendar.set(Calendar.DAY_OF_MONTH, dayOfMonth);
            updateLabel();
        }

    };

    edittext.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            new DatePickerDialog(classname.this, date, myCalendar
                    .get(Calendar.YEAR), myCalendar.get(Calendar.MONTH),
                    myCalendar.get(Calendar.DAY_OF_MONTH)).show();
        }

    });

onCreate()之外我放

 private void updateLabel() {
    String myFormat = "dd/MM/yyyy"; //In which you need put here
    SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-YYYY");

    edittext.setText(sdf.format(myCalendar.getTime()));
}

但是classname.this显示错误,我不知道如何解决它。

1 个答案:

答案 0 :(得分:0)

DatePickerDialog需要在其构造函数中将上下文作为第一个参数。

如果这是在片段内,请使用getActivity()而不是classname.this。

如果它在一个活动中你可以声明一个全局的Context变量,在onCreate()中将它设置为'this'并使用它而不是classname.this。