我有用于从api获取作业列表的模型类,其中包含带有对象的arrayList作为另一个描述作业模型的类模型:
class JobModel(@field:SerializedName("company_name")
@field:Expose
val company_name: String, @field:SerializedName("lastdate")
@field:Expose
val lastdate: String, @field:SerializedName("id")
@field:Expose
var id: Int, @field:SerializedName("position")
@field:Expose
var position: String?, @field:SerializedName("location")
@field:Expose
val location: String, @field:SerializedName("job_link")
@field:Expose
val job_link: String, @field:SerializedName("seen")
@field:Expose
val isSeen: Boolean, @field:SerializedName("in_notepad")
@field:Expose
val in_notepad: Boolean, @field:SerializedName("original_url")
@field:Expose
val original_url: String)
然后,我必须从json响应中再获取一个字段,称为JsonObject,"contact_data"
。因此,我将此字段添加到了我的工作模型类中:
class JobModel(@field:SerializedName("company_name")
@field:Expose
val company_name: String, @field:SerializedName("lastdate")
@field:Expose
val lastdate: String, @field:SerializedName("id")
@field:Expose
var id: Int, @field:SerializedName("position")
@field:Expose
var position: String?, @field:SerializedName("location")
@field:Expose
val location: String, @field:SerializedName("job_link")
@field:Expose
val job_link: String, @field:SerializedName("seen")
@field:Expose
val isSeen: Boolean, @field:SerializedName("in_notepad")
@field:Expose
val in_notepad: Boolean, @field:SerializedName("original_url")
@field:Expose
val original_url: String, @field:SerializedName("contact_data")
@field:Expose
val contact_data: JsonObject)
作业列表可以在带有适配器的RV上显示。而且我可以从json获取所有数据,并将其显示在我的RV上。 但是,现在又添加了一个字段之后,我无法在RV上显示任何数据。我以为问题可能出在与模型类不同的另一个地方,而没有找到它。因此,我决定在包含新字段的行中添加注释,结果我在RV上看到了所有信息。什么会导致这种问题,我该如何解决?
P.S。如果需要,我会添加一些更有用的信息,但是请告诉我您需要什么。
答案 0 :(得分:2)
为contact_data对象中的键创建另一个类
class contactData(@field:SerializedName("conact_name")
val contact_name: String,
@field:SerializedName("contact_number")
val contact_number: String)
,然后使用contact_data序列化键而不是JsonObject来引用此类。
@field:SerializedName("contact_data")
@field:Expose
val contact_data: contactData