android-如何使用数据绑定将Click侦听器设置为LinearLayout

android-如何使用数据绑定将Click侦听器设置为LinearLayout,第1张

概述我目前正在尝试使用数据绑定将点击侦听器设置为.xml布局文件中的LinearLayout视图.我设法使它在Button或TextView等其他视图上也能正常工作,但是由于某些原因,它不能与LinearLayout一起使用.这是我尝试的基本内容,但我仍然无法使它起作用:<LinearLayoutandroid:layout_widt

我目前正在尝试使用数据绑定将点击侦听器设置为.xml布局文件中的linearLayout视图.

我设法使它在button或TextVIEw等其他视图上也能正常工作,但是由于某些原因,它不能与linearLayout一起使用.

这是我尝试的基本内容,但我仍然无法使它起作用:

<linearLayout    androID:layout_wIDth="match_parent"    androID:layout_height="72dp"    androID:clickable="true"    androID:focusable="true"    androID:onClick="@{action::linearLayoutClicked}"    androID:orIEntation="vertical"></linearLayout>

其中linearLayoutClicked是我在 *** 作类中定义的方法:

public voID linearLayoutClicked(VIEw vIEw) {    // specific logic}

我也尝试过使用子视图,以及将clickable和focusable设置为false以及repeatParentState设置为true和false的那些子视图.

该 *** 作与在其他视图上正常使用的 *** 作完全相同.

这是错误还是我做错了?为什么这对linearLayout不起作用,但对其他视图却没有任何问题呢?

解决方法:

您可以处理以下任何视图点击事件.希望能帮助到你!

1)创建如下所示的处理单击事件的界面.

interface OnClickHandlerInterface {    voID onClick(VIEw vIEw)}

2)在动作类中实现点击监听器,如下所示

class MainActivity implements OnClickHanderInterface{    @OverrIDe    voID OnClick(VIEw vIEw){    }}

3)现在将此接口绑定到XML文件中.

<data>    <variable        name="clickHandler"        type=".OnClickHandlerInterface" /></data>

4)现在使用绑定对象在 *** 作类中注册此接口

mActivityMainBinding.clickHandler = this

5)现在,在要设置点击侦听器的任何位置上设置onClick.对您来说,它是linearLayout

<linearLayout    androID:ID="@+ID/linearLayout"    androID:layout_wIDth="match_parent"    androID:layout_height="72dp"    androID:clickable="true"    androID:focusable="true"    androID:onClick="@{(v)-> clickHandler.onClick(v)}"    androID:orIEntation="vertical"></linearLayout>

6)现在,当您单击linearLayout时处理单击,您可以单击在 *** 作类中实现的接口.

@OverrIDevoID OnClick(VIEw vIEw){    switch(vIEw.getID()){    case R.ID.linearLayout:        // Handler click and do some actions        break;    }}

6)如上所述,您可以通过数据绑定获得布局点击.希望它对您有用.

谢谢

快乐编码!

总结

以上是内存溢出为你收集整理的android-如何使用数据绑定将Click侦听器设置为LinearLayout全部内容,希望文章能够帮你解决android-如何使用数据绑定将Click侦听器设置为LinearLayout所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1091936.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存