带有Listener Bindings的Android DataBinding表达式

时间:2016-09-22 15:00:34

标签: android mvp android-databinding

我在app MVP模式下使用Android数据绑定库。在George Mount和Yigit Boyar的talk中,有以下与事件处理程序一起使用的表达式示例:

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

是否有任何方法可以使用相同的功能(即不同的“onClick”事件,具体取决于条件),而不是使用method references而是使用listener bindings?或者也许我的方法是完全错误的,逻辑应该转移到演示者?

1 个答案:

答案 0 :(得分:3)

来自listener_bindings

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

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