Java Getter不与任何字段域相关联

Java Getter不与任何字段域相关联,java,android,listview,android-recyclerview,realm,Java,Android,Listview,Android Recyclerview,Realm,我刚开始使用领域库,并试图在我的android应用程序中实现它。我正试图根据json响应中某个特定元素的视图类型来划分我的列表视图 我曾尝试使用回收器视图实现这些部分,但问题是我有两种视图类型,为这些视图类型添加标题导致了问题。由于Realm不支持RecyclerAdapter,我创建了一个实现,它将使用支持RecyclerView的自定义适配器 因此,我想我将使用一个列表视图,并尝试为每个对象类型使用一个简单的接口来确定类型,然后根据组的位置插入标题 出于某种原因,Realm不允许我在扩展了R

我刚开始使用领域库,并试图在我的android应用程序中实现它。我正试图根据json响应中某个特定元素的视图类型来划分我的列表视图

我曾尝试使用回收器视图实现这些部分,但问题是我有两种视图类型,为这些视图类型添加标题导致了问题。由于
Realm
不支持
RecyclerAdapter
,我创建了一个实现,它将使用支持RecyclerView的自定义适配器

因此,我想我将使用一个
列表视图
,并尝试为每个对象类型使用一个简单的接口来确定类型,然后根据组的位置插入标题

出于某种原因,Realm不允许我在扩展了
RealmObject
的类中实现接口

这是该类的外观:

import com.google.gson.annotations.SerializedName;

import io.realm.RealmObject;
import io.realm.annotations.Ignore;
import io.realm.annotations.PrimaryKey;

    public class TestClass extends RealmObject implements Subjects {

        @PrimaryKey
        @SerializedName("subjectID")
        private String subjectID;

        private String subjectDate;

        @SerializedName("subjectDescription")
        private String subjectDescription;

        public String getSubjectID() {
            return subjectID;
        }

        public void setSubjectID(String subjectID) {
            this.subjectID = subjectID;
        }

        public String getSubjectDate() {
            return subjectDate;
        }

        public void setSubjectDate(String subjectDate) {
            this.subjectDate = subjectDate;
        }

        public String getSubjectDescription() {
            return subjectDescription;
        }

        public void setSubjectDescription(String subjectDescription) {
            this.subjectDescription = subjectDescription;
        }

        @Override
        public boolean isSubjectA() {
            return true;
        }

        @Override
        public boolean isFoo() {
            return false;
        }

        @Override
        public boolean isBar() {
            return false;
        }

    }
这是编译错误日志:

Error:(76, 20) error: Getter isSubject is not associated to any field.
Note: Creating DefaultRealmModule
Warning:File for type 'io.realm.DefaultRealmModule' created in the last round will not be subject to annotation processing.
Warning:File for type 'io.realm.DefaultRealmModuleMediator' created in the last round will not be subject to annotation processing.
2 warnings
我不知道为什么会抱怨这个问题,但它不是在编译这个项目


我在这里读了一些关于这个问题的讨论:。。显然,关于这个问题有一个公开的讨论,但是任何其他的帮助都将非常感激。。谢谢

您的字段名称中有一个输入错误,而且它不应该有前缀,因此它将是“subject”,并且getter必须是isSubject()


.

我猜它假设IssubObject应该查找subject属性。你能试着用IsisObject来代替吗?嗯。。如果它能起作用,那将是非常奇怪的,但我会试一试。没有像预期的那样起作用,但不确定实际原因可能是什么(我认为banabastard在他的回答中有一个很好的观点。这只是一个输入错误。这只是一个实现的测试示例。非常感谢您的努力,但是方法或变量名与编译失败无关。如果问题是与任何命名约定有关,它可能发生在运行时。但项目本身不是这样的。)编译。@Mike2013,我在一些项目中使用realm,我向你保证它已经使用了。明白了。我已经对文章进行了编辑,但问题是这些重写只是一个测试变量。你可以忽略它们。isSubject和其他两个方法基本上都被使用,因为我必须实现它们,它只返回一个布尔值。太基本了ally当前示例类中的值与我现在得到的错误无关..:(由于你的努力,我确实投了赞成票。我现在有点理解了,但是@Ignore只在你真的想忽略该类中的某个特定字段时才起作用。这些变量只是用于测试并不重要,因为你扩展了RealmObject类,所以所有方法都必须与某个字段相关联(可以是@Ignored字段)。我在我的项目中实现了这一点。如果我更改字段或方法的名称,它将无法编译。您是否尝试正确重命名字段?
@Ignore
private boolean subject = false;


public boolean isSubject() {
    return subject;
}