xiaobailong24 / MVVMArms

Android MVVM Architecture Components based on MVPArms and Android Architecture Components.
Apache License 2.0
424 stars 64 forks source link

请教一个问题 #5

Closed tututututututu closed 7 years ago

tututututututu commented 7 years ago

我的一个UserViewModel 有如下的成员 public final ObservableField mUserViewModel = new ObservableField<>(); public final ObservableField mDis = new ObservableField<>(); public final ObservableInt mCount = new ObservableInt();

和UI双向绑定之后,如果我想修改mDis的数据直接这样 viewModel.mDis.set("dis修改后"); //userViewModel是UserViewModel 类型 这样UI就会自动刷新

如果我想修改mUserViewModel 中的UserBean的数据,修改后UI不会自动刷新 我想到因为UserBean是一个单纯的实体类,所有没有被监听. 如果是让UserBean 去继承BaseObservable,写很多notify则破坏了实体类的单纯性.

不知道有没有什么办法解决这个绑定问题 3KS

xiaobailong24 commented 7 years ago

@tututututututu

public final ObservableField mUserViewModel = new ObservableField<>();

你的意思是不监听 mUserViewModel 的数据(UserBean)的变化? 我的想法是,如果一层解决不了,就再加一层。

tututututututu commented 7 years ago

@xiaobailong24 我是想监听mUserViewModel 的数据(UserBean)的变化? 但是UserBean 是一个纯粹的实体类 如果我只是通过UserBean的set方法修改它的数据,UI没有刷新,我希望UI能够刷新

tututututututu commented 7 years ago

@xiaobailong24 可以加一下你的QQ或者微信吗

xiaobailong24 commented 7 years ago

@tututututututu QQ:1406841392 如果想保持实体类的纯粹性,可以自己在解析完实体类后,再转为要显示的数据模型,你可以参考 TextContent

tututututututu commented 7 years ago

@xiaobailong24 QQ有验证 你的真实姓名 @_@

xiaobailong24 commented 7 years ago

@tututututututu Sorry,忘记了,我把验证关了。