如何使用Android绑定库和Kotlin从视图绑定onClick事件?
我正努力与科特林合作。我想要实现的是将onClick事件分派给我的Presenter类。我所做的是:如何使用Android绑定库和Kotlin从视图绑定onClick事件?,android,data-binding,kotlin,android-databinding,Android,Data Binding,Kotlin,Android Databinding,我正努力与科特林合作。我想要实现的是将onClick事件分派给我的Presenter类。我所做的是: 在模块的gradle文件上启用数据绑定:databinding{enabled=true} 导入数据绑定编译器:kapt'com.android。数据绑定:编译器:2.0.0-beta6' 生成存根:kapt{generateStubs=true} MainPresenter.kt上的实现方法: fun onClickEditProfile () { log("method you ho
databinding{enabled=true}
kapt'com.android。数据绑定:编译器:2.0.0-beta6'
kapt{generateStubs=true}
fun onClickEditProfile () {
log("method you hoped to get called was called")
mView!!.getContext().snackbar("received event: onClickEditProfile via data binding, this is awesome").show()
}
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<data>
<variable
name="presenter"
type="br.com.tyllt.presenter.MainPresenter" />
</data>
<com.github.clans.fab.FloatingActionButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="@{() -> presenter.onClickEditProfile()}"
android:src="@drawable/ic_edit"
app:fab_colorNormal="@color/colorPrimary"
app:fab_colorPressed="@color/colorPrimaryDark"
app:fab_hideAnimation="@anim/fab_scale_down"
app:fab_label="Edit Profile"
app:fab_size="mini" />
</layout>
java.lang.IllegalArgumentException:指定为非null的参数为null:方法org.jetbrains.kotlin.annotation.RoundEnvironmentWrapper.getElementsAnnotatedWith,参数a
有什么想法吗?好吧,在回答以下问题并注意使用后:
private fun initDataBinding() {
val binding: ActivityLoginBinding = DataBindingUtil.setContentView(this, R.layout.activity_login)
binding.presenter = mPresenter
}
我能让它工作。问题是,我只是使用以下方法初始化绑定:
MainActivityBinding binding = MainActivityBinding.inflate(getLayoutInflater());
正如上面所指出的,由于某种原因,它对我不起作用。粘贴build.gradle文件
MainActivityBinding binding = MainActivityBinding.inflate(getLayoutInflater());