有两种方法,简单的一种:
在viewModel中通过传入的view获得context来实现:
class MainActivityVM {
。。。
fun onClick(view: View) {
val context = view.context
val intent = Intent(context, RecycleViewActivity::class.java)
context.startActivity(intent)
}
。。。
}
xml:
android:onClick="@{(v) -> mainActivityVM.onClick(v)}"
第二种通过回调,这种方法比较复杂:
首先声明一个DataBindingUtils:
class DataBindingUtils {
companion object {
var commonMap = ArrayMap<BaseActivity, ArrayMap<Observable, Observable.OnPropertyChangedCallback>>()
fun addCallBack(baseActivity: BaseActivity, observable: Observable?, callback: Observable.On