Android.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET.NET: 通过LiveData的DataBinding检查&取消检查开关按钮。

问题描述 投票:0回答:1

我目前正试图使用数据绑定来设置我的开关按钮的检查状态,但由于某些原因,我的状态一直没有改变?

在我的设置页面,我做了以下操作。

  1. 检查开关是否为真
  2. 向我的livedata变量发布数值
  3. 退出设置页面
  4. 重新进入设置
  5. Switch应该被检查,因为在我的XML中,我绑定到它,但它是假的。

- 设置碎片 - SettingsViewModel - SettingsLayout.XML

SettingsViewModel

    private val _checked = MutableLiveData<Boolean>()
    val checked : LiveData<Boolean> = _checked

SettingsLayout.XML

                <Switch
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="right|center"
                android:layout_marginRight="@dimen/margin_big
                android:checked="@{viewModel.checked}"/>

我已经仔细检查过了,以确保在我的 设置碎片 我愿意 DataBindingUtil. inflate 以及并通过我的SettingsViewModel。

android kotlin button android-databinding
1个回答
2
投票

你需要使用 双向数据绑定 像这样。

android:checked="@={viewModel.checked}"

© www.soinside.com 2019 - 2024. All rights reserved.