根据官方文档,发现点击事件并没有触发
<data>
<variable
name="user"
type="com.m.databindingdemo.model.User"/>
<variable
name="handlers"
type="com.m.databindingdemo.model.MyHandlers"/>
</data>
。。。
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="18sp"
android:text="@{user.firstname}"
android:onClick="@{handlers::onClickFriend}"
/>
Handler:
class MyHandlers {
fun onClickFriend(view: View) {
Toast.makeText(view.context,"test method reference",Toast.LENGTH_LONG).show()
}
}
原因是需要绑定:
val binding = DataBindingUtil.setContentView<ActivityMainBinding>(this, R.layout.activity_main)
binding.handlers = MyHandlers() //关键语句
参考:
1.http://blog.youkuaiyun.com/xiaolaohuqwer/article/details/79161338
本文介绍了解决在使用Data Binding时点击事件未被触发的问题。通过正确的绑定Handler实例,可以确保视图上的点击事件能够正常工作。文章提供了一个具体的例子来说明如何实现。
1134

被折叠的 条评论
为什么被折叠?



