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自动生成代码
本文含有隐藏内容,请 开通VIP 后查看