我有这个界面:
public interface IAppointmentDAO extends IAppointmentDate {
void close();
void deleteAppointment(long id);
Appointment getAppointment(long id);
List<Appointment> getGroomerAppointmentsByDate(int groomerId, Calendar date);
List<Appointment> getGroomerAppointmentsByDate(int groomerId,
Calendar date, int appId);
List<Event> getGroomerEventsByDate(int groomerId, Calendar date);
boolean isEmptyDate(int day, int month, int year, int groomerId);
我有一个实现接口的类。它有这种方法:
@Override
public boolean isEmptyDate(int day, int month, int year, int groomerId) {
Calendar today = Calendar.getInstance();
today.set(year, month, day, 0, 0, 0);
today.set(Calendar.MILLISECOND, 0);
Calendar tomorrow = Calendar.getInstance();
tomorrow.set(year, month, day + 1, 0, 0, 0);
tomorrow.set(Calendar.MILLISECOND, 0);
String[] insertArgs = new String[] {
String.valueOf(today.getTimeInMillis()),
String.valueOf(tomorrow.getTimeInMillis()),
String.valueOf(groomerId) };
Cursor cursor = database.rawQuery(
SQLiteConstants.COUNT_APPOINTMENTS_FOR_DATE, insertArgs);
try {
if (cursor.moveToFirst())
return cursor.getInt(0) > 0 ? false : true;
return true;
} finally {
cursor.close();
}
}
我们可以看到该方法的签名与界面中的底部签名相同。但是,我的类有一个错误,说它没有实现接口的所有方法。我使用quickfix来使类从接口实现方法,它为类提供了这个方法:
@Override
public boolean isEmptyDate(int day, int month, int year, long id) {
return false;
}
为什么Android Studio认为我的界面isEmptyDate
方法采用id
类型的long
参数?
答案 0 :(得分:2)
我想具有long id参数的方法来自IAppointmentDate接口。
答案 1 :(得分:-2)
似乎与方法有关。 1.用false初始化一个本地布尔变量。 2.将cursor.getInt(0)赋值给上面的变量。 3.最后返回此变量。 4.它应该解决你的问题