Abh*_*bhi 3 android onclick buttonclick android-databinding
我想onClick()在布局 xml 中触发两个视图模型的两种方法。
代码:
<Button
android:onClick="@{() -> model.onButtonClick()}"
... />
Run Code Online (Sandbox Code Playgroud)
上面的代码调用一个方法,我希望它从不同的视图模型调用另一个方法。
我想添加的函数调用:model2.onButtonClick()
是否可以?如果是,请添加一个最小的例子。(期待 xml 解决方案)
注意:视图模型作为 xml 中的参数传递。(数据绑定变量)
编辑 1:两个函数都位于两个不同的视图模型中。所以我(经过一些研究)知道在另一个视图模型中使用/声明/初始化一个视图模型并不是一个好的做法。
我可以在我的片段中创建一个点击侦听器并在那里调用这两个函数。但我想消除片段中的点击侦听器(按照 MVVM 进行视图)。
我并不是在寻找某种可能的方法。我正在寻找一种最佳实践方法,打算在其中实现 MVVM、关注点分离和数据绑定。
小智 5
我已经找到解决方案了。也许很愚蠢,但简单中却是天才:
app:onRefreshListener="@{() -> dashboardVM.onRefresh() != homeVM.onRefresh()}"
方法需要返回 true/false -> 无论如何。
对于任何其他数量的方法,请使用OR并返回始终 false。
正确的解决方案需要通过转换器来实现。但这需要大量代码。
| 归档时间: |
|
| 查看次数: |
3325 次 |
| 最近记录: |