MVVM 教程(二)

本文主要是在上文的基础上增加事件绑定。

具体的功能表现如图,输入文本并点击显示按钮后,屏幕中间区域显示输入的文本内容。

图1

首先,修改 MainVM,新增 textContent 属性,该属性与 TextView 的 android:text 绑定。而原先的 content 属性保持不变,依然是与 EditText 的 android:text 绑定。

图2

MVVM 某种意义上是基于数据驱动的。从这个角度出发。下图的代码就是这个功能实现的重点。

图3

我们只需将show方法与按钮做事件绑定就完事了。而该方法是定义在 MainVM 里还是其他类里都是没问题的,主要看个人理解。对于小编来说,更希望是保持 VM 类的单一性,即仅仅是与数据相关。所以新建 MainPresenter 类。( MVP 的 P)

图4

有了 MainVM, MainPresenter。 接下来就是修改 xml 文件。将 按钮的事件绑定到 MainPresenter.show()方法。

图5

1,声明 presenter 为 MainPresenter 类型。

2,绑定按钮事件。

图6

重点在于 ()->presenter.show(vm),假如show方法需要 view 对象的话,则可修改为 (view)->presenter.show(view, vm)。

最后,通过 binding类对presenter 赋值。运行,一切正常。收工。该例子代码:mvvm

你可能感兴趣的:(MVVM 教程(二))