package com.cr.adapter

import android.content.Context
import android.os.Handler
import android.os.Looper
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.BaseAdapter

/**
 * 操作系统：MAC系统
 * 创建者：王成
 * 创建日期：2023/4/11 10:01
 * 描述：基础适配器
 */
open class CrAdapter<T>@JvmOverloads constructor(
    context: Context?=null,
    dataList:MutableList<T>
) : BaseAdapter() {
    // define: 2023/4/11 上下文
    var context: Context? = null

    // define: 2023/4/11 数据集合
    var dataList: MutableList<T>? = null

    // define: 2023/4/11 视图管理器
    var inflater: LayoutInflater? = null

    /**
     *  初始化
     */
    init {
        this.context = context
        this.dataList = dataList
        this.inflater = LayoutInflater.from(context)
    }

    /**
     * 返回数量
     * @return Int
     */
    override fun getCount(): Int {
        return dataList!!.size
    }

    /**
     * 返回选择项
     * @param p0 Int
     * @return Any
     */
    override fun getItem(p0: Int): T {
        return dataList!![p0]
    }

    /**
     * 返回选择项Id
     * @param p0 Int
     * @return Long
     */
    override fun getItemId(p0: Int): Long {
        return 0
    }

    /**
     * 返回视图
     * @param p0 Int
     * @param p1 View
     * @param p2 ViewGroup
     * @return View
     */
    override fun getView(p0: Int, p1: View?, p2: ViewGroup?): View? {
        return null
    }

    /**
     * 更新数据
     * @param dataList MutableList<T> 数据集合
     */
    fun notifyUpdate(dataList: MutableList<T>){
        this.dataList = dataList
        this.notifyDataSetChanged()
    }
}