android数据绑定无法在Statistic类中找到get()方法

64jmpszr  于 2023-04-28  发布在  Android
关注(0)|答案(1)|浏览(89)

我有一个像这样的模型课

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)时,代码编译,我不知道我到底错过了什么
如果有人能在这方面帮助我,我将不胜感激,并提前向你表示感谢

vfh0ocws

vfh0ocws1#

首先,谢谢@Tengfour04你给了我提示,干杯
简单地改变这最内部的Statistic类名称为任何其他名称.发生的是,编译器混淆与这些类似的名称虽然当你把光标放在任何Statistic类它将突出显示其他Statistic外部或内部类

相关问题