epoxy icon indicating copy to clipboard operation
epoxy copied to clipboard

View binding with EpoxyModelWithHolder

Open ameerprpt opened this issue 3 years ago • 0 comments

I am using EpoxyModelWithHolder with multiple layouts in a single Epoxy model class. How can I do ViewBinding? Currently, I am using Kotlin-android-extensions. Below is my code

@EpoxyModelClass
abstract class ItemSampleEpoxyModel : EpoxyModelWithHolder<ItemSampleEpoxyHolder>() {


    @EpoxyAttribute
    var itemSampleShelf: ComponentFactoryLanderPagesHeroShelf.ComponentLanderPageHeroShelf.ItemLanderPageHeroShelf? =
        null

    override fun getDefaultLayout() =
        when {
            itemSampleShelf?.heroStyle == "Project" -> {
                R.layout.item_project_sample
            }
            itemSampleShelf?.shelfItemType == "Course" -> {
                R.layout.item_course_sample
            }
            else -> {
                R.layout.item_sample
            }
        }

    override fun bind(itemHolder: ItemSampleEpoxyHolder) {
        itemHolder.titleView.text = itemSampleShelf?.title
    } }
    
    
    
    class ItemSampleEpoxyHolder : EpoxyHolder() {


    lateinit var titleView: AppCompatTextView

    override fun bindView(itemView: View) {
        titleView = itemView.tv_title
    }}

ameerprpt avatar Jan 28 '22 11:01 ameerprpt