Android 带有侦听器绑定的数据绑定表达式

Android DataBinding expression with Listener Bindings

我在应用程序中使用 Android 数据绑定库,它遵循 George Mount 和 Yigit Boyar 的 MVP pattern. In the talk,下面是事件处理程序使用的表达式示例:

<Button android:onClick="@{isAdult ? handlers.adultClick : handlers.childClick}" …/>

有没有什么方法可以拥有相同的功能(即不同的 "onClick" 事件取决于条件)而不是 method references but with listener bindings?又或者我的方法完全错误,应该把逻辑移给presenter?

来自 listener_bindings

如果需要使用带谓词的表达式(例如三元),可以使用void作为符号。

android:onClick="@{(v) -> v.isVisible() ? doSomething() : void}"