package com.example.smart.ui.exclude.adapter
|
|
import android.content.Context
|
import android.view.View
|
import androidx.recyclerview.widget.LinearLayoutManager
|
import androidx.recyclerview.widget.RecyclerView
|
import com.example.basecore.util.LogUtils
|
import com.example.smart.R
|
import com.example.smart.ui.projectevent.bean.ChildTreeBean
|
import com.example.smart.ui.projectevent.bean.SystemTreeBean
|
|
class VCAdapter(
|
mContext: Context, data: ArrayList<SystemTreeBean>
|
) : TreeBaseAdapter(mContext, data as ArrayList<ChildTreeBean>) {
|
|
override fun getLayoutId(): Int = R.layout.item_tree_v
|
|
|
|
override fun onBindViewHolder(holder: TreeBaseAdapter.PageViewHolder, position: Int) {
|
|
holder.contentTv.text = (data[position] as SystemTreeBean).name
|
holder.contentTv.maxLines = 2
|
//align center
|
holder.contentTv.textAlignment = View.TEXT_ALIGNMENT_CENTER
|
|
holder.contentTv.isSelected = data[position].isSelected
|
|
holder.itemView.setOnClickListener {
|
if (data[position].isSelected) {
|
return@setOnClickListener
|
}
|
reverseSelected()
|
data[position].isSelected = true
|
notifyDataSetChanged()
|
try {
|
clickEvent?.onClicked(position, (data[position] as SystemTreeBean).id.toString())
|
} catch (e: Exception) {
|
LogUtils.e("e = $e")
|
}
|
}
|
}
|
|
|
|
fun notifyChanged(newItem: ArrayList<SystemTreeBean>) {
|
data = newItem
|
val select = data.find { it.isSelected }
|
var pos = 0
|
if (select == null && data.isNotEmpty()) {
|
data[0].isSelected = true
|
} else {
|
pos = data.indexOf(select)
|
}
|
try {
|
clickEvent?.onClicked(pos, (data[pos] as SystemTreeBean).id.toString())
|
} catch (e: Exception) {
|
LogUtils.e("e = $e")
|
}
|
notifyDataSetChanged()
|
}
|
|
}
|