Как двустороннее связывание данных может привести к бесконечным циклам? - PullRequest
2 голосов
/ 07 апреля 2019

Я изучаю привязку данных, читая официальные документы 1002 *.Все имеет смысл ожидать возможных бесконечных циклов в двусторонней привязке.Согласно официальным документам по двустороннему связыванию :

Будьте осторожны, чтобы не использовать бесконечные циклы при использовании двустороннего связывания данных.Когда пользователь изменяет атрибут, вызывается метод, аннотированный с помощью @InverseBindingAdapter, и значение присваивается свойству поддержки.Это, в свою очередь, вызовет метод, аннотированный с помощью @BindingAdapter, который вызовет еще один вызов метода, аннотированного с помощью @InverseBindingAdapter, и т. Д.

Я понимаю первую часть утверждения, что методаннотация с @InverseBindingAdapter будет вызвана, если атрибут будет изменен, а новое свойство будет назначено вспомогательному свойству.

Но я не понимаю, почему метод @InverseBindingAdapter снова вызывается , когда в этом процессе вызывается метод @BindingAdapter и как он ведет к бесконечным циклам?

...