Android-无法在数据绑定中设置变量(通过ViewDataBinding),该怎么办?

Android-无法在数据绑定中设置变量(通过ViewDataBinding),该怎么办?,android,kotlin,data-binding,Android,Kotlin,Data Binding,我的MainActivity有一个布局文件,其中的数据标记为: <data> <variable name="viewmodel" type="com.me.app.MainViewModel" /> <variable name="main_activity" type="com.me.app.MainActivity" /> </data> 在这个代码段之后,main_activity变量被正确设置,但是viewmodel变量似乎仍然

我的MainActivity有一个布局文件,其中的数据标记为:

<data>
  <variable name="viewmodel" type="com.me.app.MainViewModel" />
  <variable name="main_activity" type="com.me.app.MainActivity" />
</data>

在这个代码段之后,
main_activity
变量被正确设置,但是
viewmodel
变量似乎仍然是MainViewModel的一个实例,它保存了所有的默认值,即使以后在
MainViewModel
中设置了它们(我在viewmodel中使用MutableLiveData对象,并使用.value设置了它们的内容). 为什么一个设置了,另一个没有设置?

找到了答案-我忘了从onCreate()中删除“常用”setContentView。问题中发布的代码没有这些内容。

向我们展示您的ViewModel内容以及这些内容的XML用法MutableLiveData@GuilhermeLimaPereira找出问题所在-参见答案。
class MainActivity : AppCompatActivity() {
  private var mainViewModel : MainViewModel? = null

  override fun onCreate() {
    mainViewModel = ViewModelProviders.of(this).get(MainViewModel::class.java)
    val binding : ActivityMainBinding = DataBindingUtil.setContentView(this, R.layout.activity_main)
    binding.setVariable(BR.main_activity, this)
    binding.setVariable(BR.viewmodel, mainViewModel)
    binding.executePendingBindings()
  }
}