首页 > 解决方案 > 如何在 XML 中定义小部件“Var”?(默认定义为“Val”)

问题描述

例如,我更改了 aTextView的文本和使用 LiveData 的文本颜色,如下所示:

xxxViewModel.class

val textViewText = MutableLiveData<String>()
val textViewTextColor= MutableLiveData<Int>()

xxxFragment.class

xxxViewModel.textViewText.observe(viewLifecycleOwner) { binding.textView.text = it }
xxxViewModel.textViewTextColor.observe(viewLifecycleOwner) { binding.textView.color= it }

但是现在我需要更改 的几乎所有属性TextView,所以我想也许我观察TextView的是它本身,而不是它的属性,如下所示:

xxxViewModel.class

val textView = MutableLiveData<TextView>()

xxxFragment.class

// I got error here: says binding.textView is Val and cannot be reassign
xxxViewModel.textView.observe(viewLifecycleOwner) { binding.textView = it }

binding.textView是在 XML 中定义的小部件,如何将其从 Val 更改为 Var?

标签: androidkotlinandroid-widgetandroid-livedata

解决方案


推荐阅读