【问题标题】:Some problems about live data关于直播数据的一些问题
【发布时间】:2023-01-03 01:34:25
【问题描述】:

在注册片段中,我有条款条件部分.当您单击此文本时,底部工作表将打开。我单击页面末尾的按钮(接受按钮)。我想要注册中的复选框应该被点击。

资料库

  var resultOk = MutableLiveData<Boolean>()
  fun checkResult(){
    resultOk.value = true
}

注册 查看模型

`
private var _resultOk = MutableLiveData<Boolean>()
val resultOk: LiveData<Boolean>
    get() = _resultOk

 init {
    _resultOk = firebaseRepo.resultOk
}

注册片段

      viewModel.resultOk.observe(viewLifecycleOwner, Observer {
        binding.cbTermsAndCondition.isChecked = it
    })

BottomSheetView 模型

  init {
    checkResult()
}

fun checkResult() {
    fireBaseRepository.checkResult()
}

BottomSheet 片段

     binding.btnTermAccept.setOnClickListener {
        //Constant.result.value = true
        //viewModel.resultOk.value
        viewModel.checkResult()
        dismiss()
    }

为什么未单击复选框,当我单击 bottomsheet 的“接受按钮”结束时。

【问题讨论】:

    标签: checkbox android-livedata


    【解决方案1】:

    我找到了答案。有两种方法可以解决这个问题。

    1)var result =MutableLiveData(false) 你应该以单身人士的身份去做,然后观察它。

    2)您可以使用共享 viewModel enter link description here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-24
      • 2013-07-07
      相关资源
      最近更新 更多