I don’t like it a single bit.

I agree business logic in the layouts is not the right solution. But the code you write in the layout using data binding is not the business logic of your app!

In the example of this post the logic (for example the validation) is still in Java code, writing the binding in the layout you don’t need to write the boilerplate code like