无法在 Android 上实现 DatePickerDialog
Unable to implement DatePickerDialog on Android
我正在使用 this library,我正在按照它说的去做。
我已将此实现添加到我的 class:
implements com.wdullaer.materialdatetimepicker.date.DatePickerDialog.OnDateSetListener
而这个方法:
@Override
public void onDateSet(DatePickerDialog view, int year, int monthOfYear, int dayOfMonth) {
String date = "You picked the following date: "+dayOfMonth+"/"+(monthOfYear+1)+"/"+year;
}
但由于某种原因我收到错误消息:
Class 'xxxx' must be either declared abstract or implement abstract method 'onDateSet(..)
我也看到了样本,我也做了同样的事情。
当您收到类似这样的错误消息,但您已经有一个具有给定名称的方法时,这通常意味着签名是错误的。在这种情况下,第一个参数的 DatePickerDialog
类型很可能是错误的,因为 int
到处都是 int
。
如果您的 IDE 自动导入了 DatePickerDialog
class,它可能选择了 android.app.DatePickerDialog
。不过,该接口需要 com.wdullaer.materialdatetimepicker.date.DatePickerDialog
。您可以在方法签名中使用完全限定的 class 名称,或者只需更改 import
语句以指向正确的 class.
我正在使用 this library,我正在按照它说的去做。
我已将此实现添加到我的 class:
implements com.wdullaer.materialdatetimepicker.date.DatePickerDialog.OnDateSetListener
而这个方法:
@Override
public void onDateSet(DatePickerDialog view, int year, int monthOfYear, int dayOfMonth) {
String date = "You picked the following date: "+dayOfMonth+"/"+(monthOfYear+1)+"/"+year;
}
但由于某种原因我收到错误消息:
Class 'xxxx' must be either declared abstract or implement abstract method 'onDateSet(..)
我也看到了样本,我也做了同样的事情。
当您收到类似这样的错误消息,但您已经有一个具有给定名称的方法时,这通常意味着签名是错误的。在这种情况下,第一个参数的 DatePickerDialog
类型很可能是错误的,因为 int
到处都是 int
。
如果您的 IDE 自动导入了 DatePickerDialog
class,它可能选择了 android.app.DatePickerDialog
。不过,该接口需要 com.wdullaer.materialdatetimepicker.date.DatePickerDialog
。您可以在方法签名中使用完全限定的 class 名称,或者只需更改 import
语句以指向正确的 class.