Getter is not associated to any field - Realm

柔情痞子 提交于 2019-12-07 09:37:16

问题


I am new to using Realm library and was trying to implement it in my android application. Just got stuck at a point where I am trying to section my listview based on the view type of a particular element in my json response.

I have tried to implement the sections with recycler view but the problem is I have 2 view types and addition of headers for those view types was causing an issue. Since Realm doesn't have the support of RecyclerAdapter, I created an implementation that will use a custom adapter that supports the RecyclerView.

So, I though I will use a ListView and try to use a simple interface for each of the Object type to determine the type and then insert the Headers based on the position of the group.

For some reason Realm is not allowing me to implement an interface in a class which extends RealmObject.

This is how that class looks like :

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;
        }

    }

And this is the Compilation Error log :

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

I have no idea why is complaining about this issue but its not compiling the project.

I read a few discussion about the issue here : link .. Apparently, there's an open discussion about this issue but any other help will be really appreciated.. Thank you


回答1:


You have an typo in your field's name, also it shouldn't have prefix, so it would be "subject", and getter must be isSubject()

@Ignore
private boolean subject = false;


public boolean isSubject() {
    return subject;
}

.



来源:https://stackoverflow.com/questions/32564443/getter-is-not-associated-to-any-field-realm

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!