V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
stdying
V2EX  ›  Android

Android MVVM 架构中, view 事件处理如何处理

  •  
  •   stdying · 2017-06-28 23:39:25 +08:00 · 10940 次点击
    这是一个创建于 2723 天前的主题,其中的信息可能已经有所发展或是发生改变。
    View 事件的处理是否可以在 ViewModel 中定义方法,这样似乎不符合 ViewModel 的定义;

    ViewModel 是用来获取数据和处理逻辑,

    这样事件处理需要放在 Activity 或者 Fragment 中。

    比如:点击 Button 获取布局中 EditView 的内容,
    第 1 条附言  ·  2017-06-29 00:12:01 +08:00
    1,EditView 内用如何获取,ViewModule 不持有 view,应该只能在 Activity 或者 Fragment 中实现方法,

    2,弹窗显示 EditView 内容,弹窗显示需要结合 view
    8 条回复    2017-06-30 09:15:59 +08:00
    StephenChow
        1
    StephenChow  
       2017-06-28 23:46:48 +08:00 via Android
    获取 editview 的内容 然后呢 处理还是展示

    处理用 viewmodel 对应的方法
    展示用 databinding 应该就能搞定了
    stdying
        2
    stdying  
    OP
       2017-06-29 00:12:14 +08:00
    @StephenChow 弹窗显示
    pcatzj
        3
    pcatzj  
       2017-06-29 09:31:26 +08:00
    RockOrRoll
        4
    RockOrRoll  
       2017-06-29 11:52:36 +08:00
    那要是没有 dataBinding,那不是 GG 了。手写全部的 ui binding 逻辑?
    nimdanoob
        5
    nimdanoob  
       2017-06-29 12:56:16 +08:00
    逻辑分为业务逻辑和视图逻辑吧,只在 Activity、Fragment 处理 UI 部分的逻辑
    stdying
        6
    stdying  
    OP
       2017-06-29 23:25:59 +08:00
    @nimdanoob 所以如果 UI 要求比较复杂,或者效果炫酷,activity,fragment 还是会有不少代码
    stdying
        7
    stdying  
    OP
       2017-06-29 23:26:19 +08:00
    @pcatzj 可以自定义
    pcatzj
        8
    pcatzj  
       2017-06-30 09:15:59 +08:00
    @stdying #7 自定义什么?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5165 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 03:32 · PVG 11:32 · LAX 19:32 · JFK 22:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.