android - 将变量传递到 <include> 的布局标签

标签 android mvvm data-binding viewmodel android-databinding

您好,我想创建一个基本 xml,它本身可以包含可变布局。这是基本思想:

基本布局:

<data>
    <variable name="view" type="android.support.annotation.DrawableRes">
    <variable name="viewModel" type="myBaseViewModel">
</data>

<RelativeLayout> 

    <include layout="@{view}"
        bind:viewModel=@{viewModel}>

</RelativeLayout>

项目布局:

<layout> 
    <data>
        <variable name="viewModel" type="myBaseViewModel"/>
    </data>

    <TextView text = "@{viewModel.myText}" />
</layout>

Binder 布局:

<layout>
    <data>
        <variable name="viewModel" type="myViewModel"/>
    </data>

    <include layout="@layout/myBaseLayout"
        bind:view="@layout/myItemLayout"
        bind:viewModel="@{viewModel}/>
</layout>

有什么办法可以实现吗?

最佳答案

我想您也希望此字段随变量一起更新。不,这是不可能的。 您必须在后台获取此字段引用,并在每次更新变量时更新它。

关于android - 将变量传递到 <include> 的布局标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53834089/

相关文章:

.net - DataGrid 数据绑定(bind)/更新中的 WPF 组合框不起作用

c# - 数据绑定(bind) WPF 中 WebBrowser 的 Source 属性

android - 为什么 LiveData 值需要包装器?

c# - 以编程方式创建一个带有由 Caliburn Micro 初始化的子元素的弹出窗口

javascript - Qooxdoo ComboBox 键/值序列化

java - 我如何正确地做多个闪屏android

c# - 当文本框的文本更改时执行方法

java - android reSTLet 添加非标准头参数

android - java.lang.NoSuchMethodError : No virtual method zzait()Ljava/util/ArrayList; in class Lcom/Error? 错误

java - 如何为 android 3D 游戏框架创建更新方法?