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)
}
}