Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class RecyclerViewAdapter: ListAdapter<List<String>, RecyclerViewAdapter.ViewHolder>(RecyclerViewDiffCallback()) {
- override fun onBindViewHolder(holder: ViewHolder, position: Int) {
- val item = getItem(position)
- holder.bind(item)
- }
- override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
- return ViewHolder.from(parent)
- }
- class ViewHolder private constructor(private val binding: ListItemBinding): RecyclerView.ViewHolder(binding.root) {
- fun bind(item: List<String>) {
- binding.amount.text = String.format("%.6f", item[1].toFloat())
- binding.price.text = String.format("%.2f", item[0].toFloat())
- binding.total.text = String.format("%.5f", (item[0].toFloat() * item[1].toFloat()))
- }
- companion object {
- fun from(parent: ViewGroup): ViewHolder {
- val layoutInflater = LayoutInflater.from(parent.context)
- val binding = ListItemBinding.inflate(layoutInflater, parent, false)
- return ViewHolder(binding)
- }
- }
- }
- }
- class RecyclerViewDiffCallback: DiffUtil.ItemCallback<List<String>>() {
- override fun areItemsTheSame(oldItem: List<String>, newItem: List<String>): Boolean {
- return true
- }
- override fun areContentsTheSame(oldItem: List<String>, newItem: List<String>): Boolean {
- return false
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement