【问题标题】:How to Change the Datasource that an Element is Bound to in Android如何在 Android 中更改元素绑定的数据源
【发布时间】:2019-05-22 19:22:45
【问题描述】:

我希望能够更改元素绑定到的数据源。

例如,假设我有一个按钮的 enabled 属性绑定到某个给定属性,如下所示:

<Button
   android:id="@+id/btnZero1"
   android:enabled="@{mSystem.item[0].Online }" />

这很好绑定。但是,如果我想在运行时动态更改此绑定以指向 mSystem.item[1].Online 怎么办。这可能吗?

【问题讨论】:

    标签: android data-binding android-databinding


    【解决方案1】:

    是的,这是可能的。变量的 getter 应该在模型类中具有 @Bindable 注释,您已在布局的数据标签中传递了该注释。

    执行以下几个步骤: 1. 模型类应该扩展 BaseObservable 类。 2. 然后您需要将@Bindable 与您需要观察动态变化的变量的getter 一起使用。 [它将在您自动生成的 BR 类中生成变量] 3. 然后,在设置器中使用 notifyPropertyChanged(BR.your_variable_name)

    通过这种方式,一旦您对 @Bindable 变量进行了更改,它就会观察更改。只要您对模型变量进行任何更改,它就会更新 UI。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-01
      • 1970-01-01
      • 2018-07-16
      • 2019-03-14
      相关资源
      最近更新 更多