Впервые я сталкиваюсь с этим, когда речь идет не о ArrayList, List или каких-либо коллекциях - речь идет о Int.
Я использую Kotlin и Moxy Presenter для инициализации адаптера.Вот как я начинаю это:
adapter = WeeksAdapter(context, weeks, chosenWeekPosition, this)
вот моя часть WeeksAdapter:
class WeeksAdapter (private val context: Context, private val weeks: ArrayList<WeekChoice>, var chosenPosition: Int, private val listener: OnCurrentWeekChangedListener):
RecyclerView.Adapter<WeeksAdapter.ViewHolder>() {
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
val week = weeks[position]
holder.tv.background = context.resources.getDrawable(
if (position == chosenPosition) R.drawable.week_circle_background_active else R.drawable.week_circle_background_inactive , null)
holder.tv.setTextColor( context.resources.getColor ( if (position == chosenPosition) android.R.color.white else R.color.textColor ))
holder.tv.text = "${week.numberOfWeek}"
holder.tv.setOnClickListener {
listener.onWeekClick(position)
}
}
}
, поэтому, когда я меняю поле selectedPosition в моем Presenter и вызываю adapter?.notifyDataSetChanged()
- selectedPosition не изменяетсяили обновить в адаптере - я проверил в отладке - он не меняется.
Как это исправить, пожалуйста