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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 看了下上篇博客的发表时间到这篇博客,竟然过了11个月,罪过,罪过。这一年时间也是够折腾的,年初离职跳槽到鹅厂...
    西木柚子阅读 21,310评论 12 184
  • 转摘:https://www.zybuluo.com/shark0017/note/256112 DBinding...
    帅气的欧巴阅读 2,622评论 4 3
  • 新年第一餐,点的外卖,嗯,绝逼是我点过的外卖里扛把子的,两个字,店家用心。作为一个经常控制不住乱线思维的人,不禁勾...
    文道木心阅读 378评论 0 1
  • 昨晚Xboy说 明天太阳还是会从东边升起来的 像是一句真理一样说了四遍 可真理最是废话了 今天他那边阴天 我这里也...
    阿May响当当阅读 415评论 0 3
  • 现在你的位置并不重要, 重要的是你前进的方向! 共享听读,再不孤独; 根基稳固,怕啥没路! 变革的路,怎会没苦; ...
    54f70f613c7c阅读 135评论 0 0