Cannot find the GETTER for attribute 'app:vm' with value type Boolean

Taken from here, under "Rolling Your Own":

You'll need a little more extra code to get the two-way databinding working with custom classes. Most importantly, you'll need to define a @InverseBindingMethod:

@InverseBindingMethods({
   @InverseBindingMethod(type = MyControl.class, attribute = "vm"),
})

In this case, the name of the getter matches the name of the attribute “getVm” for “app:vm.” (Changed to your example)

Please visit the linked blog- it has more information on that topic, including the binding of a attribute changed event listener.