`

DataBinding点击事件没有反应

阅读更多

根据官方文档,发现点击事件并没有触发

<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.csdn.net/xiaolaohuqwer/article/details/79161338

分享到:
评论

相关推荐

    DataBinding Demo 事件绑定

    在Android开发中,...在项目`DataBindingTest`中,你可以找到相关的示例代码,通过实践加深对DataBinding事件绑定的理解。通过研究和应用这些概念,你将能够更好地利用DataBinding来优化你的Android应用程序。

    DataBinding onClick的七种点击方式

    DataBinding onClick的七种点击方式 DataBinding onClick的七种点击方式是 Android 开发者们经常使用到的技术之一,通过给定的示例代码,今天我们来详细介绍这七种点击方式,并分析它们的使用场景和优缺点。 1. ...

    zllbird#coder#思考DataBinding的点击事件1

    思考DataBinding的点击事件基于databinding的点击方式当然,基于参数和缩写等方式,也有其他展示方式,但原理是相同的。翻译一下就是,ViewMo

    ViewModel&LiveData&DataBinding联合使用

    此外,DataBinding还可以减少我们在代码中处理点击事件和UI更新的工作量,提高代码的可读性和可维护性。 在实际开发中,这三者的联合使用流程如下: 1. 创建一个ViewModel类,包含LiveData实例,用于存储和管理...

    DataBinding 架构组件 ② - DataBinding 布局中使用 import 标签导入 Java、Kotlin 类

    【Jetpack】DataBinding 架构组件 ② ( 字符串拼接函数 | 绑定点击事件函数 | DataBinding 布局中使用 import 标签导入 Java、Kotlin 类 ) https://hanshuliang.blog.csdn.net/article/details/129773150 一、...

    android官方数据绑定框架DataBinding使用(2)

    例如,为一个Button添加点击事件: ```xml android:onClick="@{(v) -&gt; viewModel.onButtonClick(v)}" /&gt; ``` 这将调用ViewModel中的onButtonClick方法。 7. 性能优化 由于DataBinding是在编译时处理的,所以不会...

    DataBinding

    关于Android的DataBinding技术分享文档,是私人文档。

    DataBinding的使用与原理

    1. **减少样板代码**:DataBinding 自动处理视图的初始化和事件监听,避免了手动调用 `findViewById()` 和设置监听器。 2. **双向数据绑定**:DataBinding 支持双向数据绑定,当数据模型发生变化时,UI 会自动更新...

    Android支持DataBinding的RecyclerView通用Adapter

    3. **高效的Item点击事件处理**:BRVAH通常会提供一种统一的方式来处理Item的点击事件,避免了在每个ViewHolder中设置监听器的麻烦。 4. **简化的数据更新**:DataBinding的双向绑定使得当数据源改变时,视图会自动...

    DataBinding中ViewStub例子

    在Android开发中,DataBinding库是Google推荐的一种用于简化视图和数据绑定的工具,它极大地减少了我们在Activity或Fragment中处理UI逻辑的代码量。ViewStub是一个轻量级的视图,它在默认情况下不可见,只有在被...

    DataBinding2使用手册

    4. **事件处理**:支持对绑定的数据执行特定的操作或回调函数。 #### 三、核心功能详解 ##### 1. 单个元素的数据绑定 DataBinding2提供了`BindingData2`方法用于单个元素的数据绑定。其基本语法如下: ```...

    Android Databinding 与 RecyclerView 完美结合

    使用Databinding,我们可以将UI组件与数据模型直接关联,简化事件处理,并且使数据变化自动反映到视图上。例如,你可以创建一个`ActivityMainBinding`类,该类代表了XML布局文件中的所有绑定,并可以通过`.set...

    DataBinding在recycleview中的使用

    数据绑定(DataBinding)是Android开发中的一种技术,它能够帮助开发者更简洁、直观地处理UI与数据模型之间的交互。...在实际项目中,你可以根据需求进行相应的扩展,如添加点击事件、动画效果等。

    Android 开发之dataBinding与ListView及事件

    本文将深入探讨如何在Android项目中使用DataBinding与ListView及事件。 首先,配置DataBinding库相当简单。在Android Studio 2.0及以上版本,只需要在app的build.gradle文件中启用dataBinding选项: ```groovy ...

    Android DataBinding Demo

    DataBinding还支持监听事件,如点击事件。例如,可以定义一个接口作为点击事件的监听器,然后在XML中声明并使用: ```xml name="handler" type="com.example.view.ClickHandler" /&gt; ... android:...

    Android数据绑定DataBinding

    - **事件绑定**:可以直接在XML中绑定点击事件,如`android:onClick="@{()-&gt; viewModel.onItemClick()}"`。 - **Observable数据**:结合`LiveData`或`ObservableField`,实现数据实时更新。 - **双向数据绑定**:...

    databinding-2.7z

    完整的android databinding例子, 里面包括了各种输入ui,switch, imageview, button事件, recyclerview的绑定应用及双向绑定. 对于初学者来讲非常简单易懂, 具体说明 ...

    DataBinding实现RecyclerView的Demo

    在Android开发中,DataBinding库是一种强大的工具,它简化了视图与数据模型之间的绑定,提高了代码的可读性和可维护性。在这个“DataBinding实现RecyclerView的Demo”中,我们将探讨如何利用DataBinding来优雅地处理...

    DataBinding基本使用

    5. **事件监听**: 可以直接在布局文件中绑定点击事件,减少代码量。例如,`android:onClick="@{() -&gt; userClick(user)}"`,其中`userClick`是Activity或Fragment中的方法。 6. **集合绑定**: 数据绑定还支持对...

    Android DataBinding ViewPage + Fragment 封装

    创建一个BaseFragment,包含DataBinding的初始化和设置,以及通用的事件处理逻辑。再创建一个BasePagerAdapter,处理Fragment的添加和管理,同时提供方便的方法来设置DataBinding的数据。 **封装示例:** 1. 创建一...

Global site tag (gtag.js) - Google Analytics