无法访问POJO类中的getter

时间:2018-02-06 20:19:15

标签: android gson adapter pojo

我正在尝试访问一个getter方法,该方法位于我的响应模式中的POJO类中。

public class Event implements Parcelable{

    class Name {

        @SerializedName("text")
        @Expose
        public String eventName;

        public String getEventName() {
            return eventName;
        }
    }
.
. some parcelable stuff here
.
}

我正在尝试从我的适配器类中访问getEventName方法。我的代码就像这样(无法访问方法,geteventname):

holder.cardTextView.setText(eventsList.get(position).getEventName());

如果我在内部pojo类之外定义另一个变量,我可以到达它的getter,我只能到达pojo类中的那个。

修改的 我试图读取这样的json响应,名称下的文本是我试图构建模态的那个。

    "events": [
        {
            "name": {
                "text": "textextextext", 
                "html": "textextextext"
            }, 
            "description": {} 
.
.
.

提前谢谢。

3 个答案:

答案 0 :(得分:1)

JSON嵌套很有趣。

name是一个内部类。看起来description也是。

events":[ { "name":{ "text":" text ", "html":"something " }, "description":{ }, ... }]

在上面,有一个events的数组。

每个活动都有一个name,每个名字都有一个"文字"和一个" html"。 每个活动都有一个description,它有自己的字段。

你走在正确的轨道上:

public class Event implements Parcelable{

@SerializedName("name")
@Expose
public Name name;

@SerializedName("description")
@Expose
public Description description;


public class Name {

    @SerializedName("text")
    @Expose
    public String eventName;

    public String getEventName() {
        return eventName;
    }
}

public class Description {

   //whatever fields are in the description object in the json
}

.
. some parcelable stuff here
.
}

您可以像访问holder.cardTextView.setText(eventsList.get(position).name.getEventName());

一样访问它

如果这样可行,您可以通过向事件类添加自定义getter来清理它。

答案 1 :(得分:0)

请在括号中使用getEventName()

holder.cardTextView.setText(eventsList.get(position).getEventName());

答案 2 :(得分:0)

holder.cardTextView.setText(eventsList.get(position).getEventName());

试试这个。使用括号进行函数调用