gpt4 book ai didi

android - 如何将 onClickListener 传递给 标签?

转载 作者:行者123 更新时间:2023-12-05 00:13:59 24 4
gpt4 key购买 nike

要包含的布局是这样的,child.xml:

 <layout>
<data>
<variable
name="click"
type=""> <!-- What type should be here? -->
</data>

<LinearLayout>
<View onClick="@{click}"/>
</LinearLayout>
</layout>

要包括这个,parent.xml:

<layout>
<data>
<variable
name="viewModel"
type="ViewModel"/>
</data>
<LinearLayout>
<View onClick="()->viewModel.click1()"/>
<include
bind:click="()->viewModel.click2()"/>
layout="@layout/child"/>
</LinearLayout>
</layout>

那么我如何才能将 clickEvent 仅传递给 child.xml。由于不同的 parent.xml 具有不同的 ViewModel,我认为我不应该将 viewModel 传递给 child.xml。但我不知道如何将方法传递给 child.xml。

我现在做的解决方案是Java File中的setOnClickListener。我怀疑是否dataBinding 可以让它变得更容易。

最佳答案

child.xml

<variable
name="click"
type="android.view.View.OnClickListener"/>


<View onClick="@{click}"/>

parent.xml

<include
layout="@layout/row"
app:click="@{()-> viewModel.click2()}"
/>

include标签中可以有多种方式传递变量,阅读@my answer .

关于android - 如何将 onClickListener 传递给 <include> 标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52716972/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com