Advertisement
Guest User

Untitled

a guest
Nov 9th, 2020
37
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Kotlin 1.44 KB | None | 0 0
  1. class RecyclerViewAdapter: ListAdapter<List<String>, RecyclerViewAdapter.ViewHolder>(RecyclerViewDiffCallback()) {
  2.  
  3.     override fun onBindViewHolder(holder: ViewHolder, position: Int) {
  4.         val item = getItem(position)
  5.         holder.bind(item)
  6.     }
  7.  
  8.  
  9.  
  10.     override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
  11.         return ViewHolder.from(parent)
  12.     }
  13.  
  14.     class ViewHolder private constructor(private val binding: ListItemBinding): RecyclerView.ViewHolder(binding.root) {
  15.  
  16.         fun bind(item: List<String>) {
  17.             binding.amount.text = String.format("%.6f", item[1].toFloat())
  18.             binding.price.text = String.format("%.2f", item[0].toFloat())
  19.             binding.total.text = String.format("%.5f", (item[0].toFloat() * item[1].toFloat()))
  20.         }
  21.  
  22.         companion object {
  23.             fun from(parent: ViewGroup): ViewHolder {
  24.                 val layoutInflater = LayoutInflater.from(parent.context)
  25.                 val binding = ListItemBinding.inflate(layoutInflater, parent, false)
  26.                 return ViewHolder(binding)
  27.             }
  28.         }
  29.     }
  30. }
  31.  
  32. class RecyclerViewDiffCallback: DiffUtil.ItemCallback<List<String>>() {
  33.     override fun areItemsTheSame(oldItem: List<String>, newItem: List<String>): Boolean {
  34.         return true
  35.     }
  36.  
  37.     override fun areContentsTheSame(oldItem: List<String>, newItem: List<String>): Boolean {
  38.         return false
  39.     }
  40.  
  41. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement