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<out ChildTreeBean>
|
) : Adapter<TreeBaseAdapter.PageViewHolder>() {
|
|
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)
|
}
|
}
|
|
|
}
|