package com.example.smart.ui.exclude.adapter import android.content.Context import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.TextView import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView.Adapter import androidx.recyclerview.widget.RecyclerView.ViewHolder import com.example.smart.R import com.example.smart.ui.projectevent.bean.ChildTreeBean abstract class TreeBaseAdapter( val mContext: Context, var data: ArrayList ) : Adapter() { init { if (data.isNotEmpty()) { data[0].isSelected = true } } override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): PageViewHolder { return PageViewHolder( LayoutInflater.from(mContext).inflate(getLayoutId(), parent, false) ) } override fun getItemCount() = data.size abstract fun getLayoutId(): Int fun reverseSelected() { for (bean in data) { bean.isSelected = false } } fun getSelectItem(): Int { for (bean in data) { if (bean.isSelected) { return data.indexOf(bean) } } return 0 } var clickEvent: OnTreeClickEvent? = null fun setTreeClickEvent(clickEvent: OnTreeClickEvent) { this.clickEvent = clickEvent } interface OnTreeClickEvent { fun onClicked(pos: Int, path: String) } inner class PageViewHolder(itemView: View) : ViewHolder(itemView) { val contentTv: TextView val select_view:View? val recyclerView:RecyclerView? init { contentTv = itemView.findViewById(R.id.content_tv) select_view = itemView.findViewById(R.id.select_view) recyclerView = itemView.findViewById(R.id.recycler_view) } } }