我有一个像这样的模型课
data class FixtureById(
@SerializedName("get")
val `get`: String?,
@SerializedName("response")
val response: List<Response?>?,
) {
data class Response(
@SerializedName("statistics")
val statistics: List<Statistic?>?,
) {
data class Statistic(
@SerializedName("statistics")
val statistics: List<Statistic?>?,
@SerializedName("team")
val team: Team?
) {
data class Statistic(
@SerializedName("type")
val type: String?,
@SerializedName("value")
val value: Int?
)
data class Team(
@SerializedName("id")
val id: Int?,
@SerializedName("logo")
val logo: String?,
@SerializedName("name")
val name: String?
)
}
}
}
在布局中,我使用了dataBinding,如下所示
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<data>
<variable
name="statistic"
type="com.mobile.sportology.models.football.FixtureById.Response" />
</data>
<TextView
android:text="@{statistic.statistics.get(0).statistics.get(9).value}"
android:textStyle="bold"
android:textSize="20sp"
android:textColor="@color/holo_green_light"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:textAlignment="center"
android:layout_gravity="center"/>
</layout>
我是这样设置数据的
responseState.data?.response?.get(0)?.let { statistic ->
binding.statistic = statistic
}
然后当我运行应用程序时,我得到这个错误
cannot find method get() in class Statistic
但是当我尝试另一种类型的数据(除了FixtureById
)时,代码编译,我不知道我到底错过了什么
如果有人能在这方面帮助我,我将不胜感激,并提前向你表示感谢
1条答案
按热度按时间vfh0ocws1#
首先,谢谢@Tengfour04你给了我提示,干杯
简单地改变这最内部的
Statistic
类名称为任何其他名称.发生的是,编译器混淆与这些类似的名称虽然当你把光标放在任何Statistic
类它将突出显示其他Statistic
外部或内部类