У меня есть Activity, в которой объявлен интерфейс, и у меня есть класс ViewModel
, который имеет переопределенный интерфейс и хочет вызвать метод интерфейса из Activity
, чтобы внести изменения в класс ViewModel
, но не может вызвать метод вActivity
говоря Класс ViewModel не имеет объекта-компаньона и поэтому должен быть инициализирован здесь .Как решить эту проблему?
var selection: setSelectionSubRow? = null
selection=RowSubTShirtViewModel
selection!!.setNameSelection(false)
код выше Activity
, чье имя TShirtActivity
.
код ниже RowViewModel
класс
class RowSubTShirtViewModel(private val subTShirtAdapter: SubTShirtAdapter, val context: TShirtActivity,
val tShirtBean: CommonItemBean, private val parentPosition: Int, private val position: Int) : BaseObservable() ,TShirtActivity.setSelectionSubRow{
fun getImageDrawable(): Drawable {
return if (tShirtBean.isSelected)
ContextCompat.getDrawable(context, R.drawable.green_border_circle)!!
else
ContextCompat.getDrawable(context, R.drawable.border_circle)!!
}
override fun setNameSelection(selection: Boolean) {
if (parentPosition == 6) {
if (position == 1) {
tShirtBean.isSelected = false
}
}
}