android mvvm框架中LiveData<T>数据如果T是一个自定义实体类类型,修改了实体类中的某个字段还需要重新手动调用LiveData的setValue或者postValue才可以更新UI界面,一般会让该实体类继承BaSEObservable,并重写他的set方法添加notifyPropertyChanged(BR.FieldName),在字段重新赋值时触发更新对应UI界面,不过当实体类属性字段比较多时依次添加notifyPropertyChanged函数和@Bindable注解比较费时费力,我们可以自定义generate getter and setter一键添加notifyPropertyChanged函数和@Bindable注解
自定义getter模板:
- 选择一个实体类右键 Generate->Getter and Setter
- 点击Getter template右侧三点更多按钮,默认是Intellij Defaule模板,我们把Intellij Defaule模板内容复制,点击加号创建一个新的模板,命名为Mvvm Observable
- 将Intellij Defaule模板内容复制到Mvvm Observable模板模板上,并在顶部添加@Bindable,保存关闭
自定义setter模板:
-
点击Setter template右侧三点更多按钮,默认是Intellij Defaule模板,我们把Intellij Defaule模板内容复制,点击加号创建一个新的模板,命名为Mvvm Observable
-
将Intellij Defaule模板内容复制到Mvvm Observable模板模板上,并在底部添加 notifyPropertyChanged(BR.$field.name);,保存关闭
使用Mvvm Observable模板生成自定义getter and setter代码
getter模板和setter模板分别选择Mvvm Observable模板,选中需要生成的字段,点ok自动生成代码
原文地址:https://www.jb51.cc/wenti/3280117.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。