kaleidot725
4/28/2020 - 10:58 AM

2020/04/28 Epoxy のサンプルと解説 (Databinding から作成) No5

2020/04/28 Epoxy のサンプルと解説 (Databinding から作成) No5

class HeaderDatabindingViewController(
    private val selectListener: SelectListener
) : Typed2EpoxyController<List<String>, Boolean>() {
    override fun buildModels(names: List<String>, loadingMore: Boolean) {
        // 名前リストの数だけ、 EpoxyModel を作成してやる。
        names.forEach { item ->
            // Layout ファイルに記述した title や onClickListener の variable 定義を通じて View の設定を変更する。
            headerDataBindingLayout {
                id("Content")
                title(item)
                onClickListener(View.OnClickListener { selectListener.onSelected(item) })
            }
        }
    }
    
    interface SelectListener {
        fun onSelected(item: String)
    }
}