簡體   English   中英

如何為 EpoxyModelWithHolder 設置 ID?

[英]How to set an ID to an EpoxyModelWithHolder?

我目前正在添加使用 Epoxy 3.9.0(第一次使用它)並且我正在創建一個 EpoxyModelWithHolder。

我正在設置一個 ID,但我仍然收到:“在添加模型之前,您必須在模型上設置一個 ID。”

模型類

abstract class PlayerModel: EpoxyModelWithHolder<PlayerModel.PlayerHolder>() {

    @EpoxyAttribute
    var id : Long = 0

    @EpoxyAttribute
    @DrawableRes
    var image : Int = 0

    @EpoxyAttribute
    var injured : Boolean = false

    @EpoxyAttribute
    var name : String = ""

    @EpoxyAttribute
    var position : String = ""
    // Busniess Logic

控制器

class PlayerController : EpoxyController() {

    var playerItems : List<Player> = PlayerDataFactory.getPlayerItems()

    override fun buildModels() {
        var i : Long = 0

        playerItems.forEach { player ->
            PlayerModel_()
                .id(i++)
                .image(player.image)
                .injured(player.injured)
                .name(player.name)
                .position(player.position)
                .addTo(this)
        }
    }
}

數據類

data class Player(val image: Int = -1, val injured: Boolean, val name: String, val position: String)

有想法該怎么解決這個嗎?

只需從PlayerModel類中刪除var id : Long = 0並重建,

PlayerModel_ id(long id)函數由Epoxy自動生成。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM