Skip to content

Instantly share code, notes, and snippets.

@enginebai
Created December 14, 2020 23:20
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save enginebai/3c45f18196a83797d53fddf257a25b0f to your computer and use it in GitHub Desktop.
Save enginebai/3c45f18196a83797d53fddf257a25b0f to your computer and use it in GitHub Desktop.
MovieHunt blog part5 view model pattern model
@EpoxyModelClass(layout = R.layout.holder_movie_landscape)
abstract class MovieListEpoxyModel : EpoxyModelWithHolder<MovieListEpoxyModel.Holder>() {
@EpoxyAttribute
var movieId = ""
@EpoxyAttribute
var imagePoster = ""
...
@EpoxyAttribute(EpoxyAttribute.Option.DoNotHash)
var itemClickListener: (String) -> Unit = {}
override fun bind(holder: Holder) {
Glide.with(holder.imagePoster)
.load(imagePoster)
.error(R.color.darkBlue)
.placeholder(R.color.darkBlue)
.into(holder.imagePoster)
...
holder.itemView.setOnClickListener { itemClickListener(movieId) }
}
class Holder : EpoxyHolder() {
lateinit var itemView: View
lateinit var imagePoster: ImageView
...
override fun bindView(itemView: View) {
this.itemView = itemView
imagePoster = itemView.findViewById(R.id.imagePoster)
...
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment