我想附加接口,但是我只知道一种方法:
override fun onAttach(context: Context) {
super.onAttach(context)
try {
myInterface=context as MyInterface
}catch (e: Exception){
Log.d("myLog",e.message)
}
}
但是在这种情况下,该界面只能在Main Activity中使用。我需要在ViewModel中使用它。问题是:如何实施?先感谢您。
如果您是指Activity中接口的实例,则可以在viewModel中放置一个setter方法。然后,您可以自由使用它。
在viewModel中:
class MyViewModel: ViewModel(){
private var mInterface: MyInterface? = null
fun setInterface(myInt: MyInterface){
mInterface = myInt
}
}
活动中:
override fun onCreate(...){
viewModel.setInterface(this)
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句