【发布时间】:2019-04-27 18:46:19
【问题描述】:
我有一个声明了接口的 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
}
}
}
【问题讨论】: