package com.healthjournal.ui.recommendation import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.CheckBox import android.widget.TextView import androidx.recyclerview.widget.RecyclerView import com.healthjournal.R class RecommendationAdapter( private val recommendationList: List>, private val onCheckedChange: (position: Int, isChecked: Boolean) -> Unit ) : RecyclerView.Adapter() { inner class RecommendationViewHolder(view: View) : RecyclerView.ViewHolder(view) { val tvGoal: TextView = view.findViewById(R.id.tv_goal) val checkBox: CheckBox = view.findViewById(R.id.toggle) } override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecommendationViewHolder { val view = LayoutInflater.from(parent.context) .inflate(R.layout.item_goals_recommendation, parent, false) return RecommendationViewHolder(view) } override fun onBindViewHolder(holder: RecommendationViewHolder, position: Int) { val (task, isCompleted) = recommendationList[position] holder.tvGoal.text = task holder.checkBox.isChecked = isCompleted holder.checkBox.setOnCheckedChangeListener { _, isChecked -> onCheckedChange(position, isChecked) } holder.itemView.setOnClickListener { holder.checkBox.isChecked = !holder.checkBox.isChecked } } override fun getItemCount(): Int = recommendationList.size }