Skip to content

Instantly share code, notes, and snippets.

@emrekose26
Created November 3, 2020 11:11
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 emrekose26/f60f24725fded3c1ea7b2b6886442fe2 to your computer and use it in GitHub Desktop.
Save emrekose26/f60f24725fded3c1ea7b2b6886442fe2 to your computer and use it in GitHub Desktop.
class MovieAdapter: PagingDataAdapter<Movie, MovieAdapter.MovieViewHolder>(MovieDiffCallback) {
override fun onBindViewHolder(holder: MovieViewHolder, position: Int) {
val movie = getItem(position)
holder.itemView.movie_title.text = movie.title
holder.itemView.movie_image.load(ImageUrlProvider.posterPathUrl(movie.posterPath))
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): MovieViewHolder {
return MovieViewHolder(
LayoutInflater.from(parent.context)
.inflate(R.layout.movie_item, parent, false)
)
}
class MovieViewHolder(view: View) : RecyclerView.ViewHolder(view)
object MovieDiffCallback: DiffUtil.ItemCallback<Movie>() {
override fun areItemsTheSame(oldItem: Movie, newItem: Movie): Boolean {
return oldItem.id == newItem.id
}
override fun areContentsTheSame(oldItem: Movie, newItem: Movie): Boolean {
return oldItem == newItem
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment