何时使用executePendingBindings(),何时不需要它?

问题描述 投票:0回答:1

我正在寻找两种情况下何时使用的实际示例?我见过类似的线程,但是它们只告诉这个问题“ 当必须立即执行绑定时”,但是对于必须强制执行绑定的情况,没有实时示例。因此,如果有人可以用任何示例进行解释,请说明何时使用它以及何时不需要它!

android mvvm android-databinding android-mvvm
1个回答
0
投票

应该使用executePendingBindings()的情况是(但可能还有更多):

每次绑定更新都会导致View更改其大小,并且没有足够的时间来计算下一帧而没有问题。

[如果是RecyclerView,则发生以下情况:

  1. 您有多个viewType,它们的大小不同(不同的XML)
  2. 您的行高根据视图内容而变化。

RecyclerView将测量onBindViewHolder完成后的行大小。如果基于在此方法中设置的数据,行的高度发生了变化,那么如果您不将executePendingBindings()作为方法中的最后一项调用,则测量将无法考虑新内容所需的空间,从而强制绑定同步更新数据,而不是在下一帧。

© www.soinside.com 2019 - 2024. All rights reserved.