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

Aut*_*M8R 2 android android-layout android-fragments android-databinding

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

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

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

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

有人可以帮助我用一种合理的方式来调试这个问题吗?

ian*_*ake 6

根据数据绑定文档

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