Newer
Older
SmartKitchen / app / src / main / java / com / casic / br / adapter / ShowerControlAdapter.kt
package com.casic.br.adapter

import android.content.Context
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.BaseAdapter
import android.widget.ImageView
import android.widget.TextView
import com.casic.br.R

class ShowerControlAdapter(
    context: Context, private val icons: IntArray, private val tags: Array<String>
) : BaseAdapter() {

    private var layoutInflater: LayoutInflater = LayoutInflater.from(context)

    override fun getItemId(position: Int): Long = position.toLong()

    override fun getCount(): Int = icons.size

    override fun getItem(position: Int): Any = icons[position]

    override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View {
        val view: View
        val holder: ItemViewHolder
        if (convertView == null) {
            view = layoutInflater.inflate(R.layout.item_shower_control_g, null)
            holder = ItemViewHolder()
            holder.controllerIconView = view.findViewById(R.id.controllerIconView)
            holder.controllerTagView = view.findViewById(R.id.controllerTagView)
            view.tag = holder
        } else {
            view = convertView
            holder = view.tag as ItemViewHolder
        }
        holder.controllerIconView.setImageResource(icons[position])
        holder.controllerTagView.text = tags[position]
        return view
    }

    private class ItemViewHolder {
        lateinit var controllerIconView: ImageView
        lateinit var controllerTagView: TextView
    }
}