繁体   English   中英

Android Studio 无法识别 setter 和 getter

[英]Android Studio not recognizing setter and getter

我一直在尝试使用 Room 从 SQLite 数据库中读取数据,即使在我使用 Android Studio 自动生成的 getter 和 setter 之后,它也不断给我错误领域。

我也收到错误:错误:实体和 Pojos 必须有一个可用的公共构造函数。

这是我的代码:

package mergerobotics.memo.backend.Room;
import android.arch.persistence.room.ColumnInfo;
import android.arch.persistence.room.Entity;
import android.arch.persistence.room.PrimaryKey;
import android.support.annotation.NonNull;
import android.arch.persistence.room.Database;


@Entity(tableName = "competitions")
public class CompetitionsEntity {

    @NonNull

    @PrimaryKey
    private String mId;

    @ColumnInfo(name = "competition")
    private String mCompName;

    @ColumnInfo(name = "year")
    private String mCompYear;

    public CompetitionsEntity(String Id, String CompName, String CompYear){
        this.mCompName = CompName;
        this.mCompYear = CompYear;
        this.mId = Id;
    }

    @NonNull
    public String getmId() {
        return mId;
    }

    public void setmId(@NonNull String mId) {
        this.mId = mId;
    }

    public String getmCompName() {
        return mCompName;
    }

    public void setmCompName(String mCompName) {
        this.mCompName = mCompName;
    }

    public String getmCompYear() {
        return mCompYear;
    }

    public void setmCompYear(String mCompYear) {
        this.mCompYear = mCompYear;
    }

}

更改构造函数参数中的变量名称以匹配上面类中声明的变量名称。 您的构造函数应如下所示:

public CompetitionsEntity(String mId, String mCompName, String mCompYear){
        this.mCompName = mCompName;
        this.mCompYear = mCompYear;
        this.mId = mId;
    }`

通过以下步骤在您的 Android Studio 中安装 Lombok 插件:

File -> Settings -> Plugins -> Search Lombok

安装插件并重启IDE

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM