我正在創(chuàng)建一個(gè)有趣的Android應(yīng)用程序來(lái)跟蹤支出。我正在使用Room來(lái)保留用戶的數(shù)據(jù),并且有一些POJO可以顯示每日/每周/每月摘要。這些類(lèi)非常相似,因此我希望有一個(gè)抽象的POJO,其中包含重新格式化為正確格式的字段和擴(kuò)展。就像是:public abstract class PeriodInformation {PeriodInformation(@NonNull Calendar mCalendar, Integer mPeriodSpendingCount, Float mPeriodSpendingSum) { this.mCalendar = mCalendar; this.mPeriodSpendingCount = mPeriodSpendingCount; this.mPeriodSpendingSum = mPeriodSpendingSum;}@ColumnInfo(name = "DateTime")private final Calendar mCalendar;@ColumnInfo(name = "SpendingCount")private Integer mPeriodSpendingCount;@ColumnInfo(name = "SpendingSum")private Float mPeriodSpendingSum;// Some other code, e.g., getters, equal override,...}這里的擴(kuò)展名:public class WeekInformation extends PeriodInformation{public WeekInformation(@NonNull Calendar mCalendar, Integer mPeriodSpendingCount, Float mMonthSpendingSum) { super(mCalendar, mPeriodSpendingCount, mMonthSpendingSum);}@Overridepublic String getPeriodRepresentation() { //return representation;}}但是,對(duì)于WeekInformation類(lèi),我收到以下錯(cuò)誤消息:錯(cuò)誤:實(shí)體和Pojos必須具有可用的公共構(gòu)造函數(shù)。您可以有一個(gè)空的構(gòu)造函數(shù)或一個(gè)其參數(shù)與字段匹配的構(gòu)造函數(shù)(按名稱和類(lèi)型)。因此,這似乎在Room中是不可能的,因此,我很樂(lè)意得到一些建議,即如何不必過(guò)于頻繁地復(fù)制相同的代碼。
添加回答
舉報(bào)
0/150
提交
取消