布局通胀后数据绑定方法何时触发?

时间:2017-02-17 22:53:57

标签: android android-layout android-fragments android-databinding

我正在使用数据绑定,而且我遇到了一个问题,即在布局膨胀并为绑定类设置视图模型后,我没有立即填充我绑定的视图属性。

在包含Fragment中,我使用BindingUtil来扩展Fragment的onCreateView()中的绑定布局。然后我立即设置了绑定变量,这是我的视图模型。

但是,当我在设置绑定的视图模型后立即调试时,布局对于某些视图属性的空值我已绑定到视图模型。如果我等待几分之一秒,属性将通过绑定按预期设置。

因此,视图属性的实际绑定何时发生?我认为只要视图模型设置为绑定类就会发生。这一定是错的......

有人可以通过合理的方式调试此问题吗?

1 个答案:

答案 0 :(得分:3)

根据Data Binding documentation

  

当变量或可观察变化时,绑定将被安排在下一帧之前变化。但是,有时必须立即执行绑定。要强制执行,请使用executePendingBindings()方法。