我在 MVP 之后的应用程序中使用 Android 数据绑定(bind)库图案。在talk由 George Mount 和 Yigit Boyar 提供了以下用于事件处理程序的表达式示例:
<Button android:onClick="@{isAdult ? handlers.adultClick : handlers.childClick}" …/>
有没有什么方法可以使 method references 具有相同的功能(即根据条件不同的“onClick”事件)但是用listener bindings反而?或者我的方法完全错误,应该将逻辑移交给演示者?
最佳答案
如果您需要使用带有谓词的表达式(例如三元),您可以使用 void 作为符号。
android:onClick="@{(v) -> v.isVisible() ? doSomething() : void}"
关于具有监听器绑定(bind)的 Android DataBinding 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39642540/