微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android studio MVVM实体类自定义getter and setter自动刷新UI界面

     android mvvm框架中LiveData<T>数据如果T是一个自定义实体类类型,修改实体类中的某个字段还需要重新手动调用LiveData的setValue或者postValue才可以更新UI界面,一般会让该实体类继承BaSEObservable,并重写他的set方法添加notifyPropertyChanged(BR.FieldName),在字段重新赋值时触发更新对应UI界面,不过当实体类属性字段比较多时依次添加notifyPropertyChanged函数和@Bindable注解比较费时费力,我们可以自定义generate getter and setter一键添加notifyPropertyChanged函数和@Bindable注解

在这里插入图片描述

自定义getter模板:

  1. 选择一个实体类右键 Generate->Getter and Setter

    在这里插入图片描述

  2. 点击Getter template右侧三点更多按钮,认是Intellij Defaule模板,我们把Intellij Defaule模板内容复制,点击加号创建一个新的模板,命名为Mvvm Observable

    在这里插入图片描述

  3. 将Intellij Defaule模板内容复制到Mvvm Observable模板模板上,并在顶部添加@Bindable,保存关闭

    在这里插入图片描述

自定义setter模板:

  1. 点击Setter template右侧三点更多按钮,认是Intellij Defaule模板,我们把Intellij Defaule模板内容复制,点击加号创建一个新的模板,命名为Mvvm Observable

    在这里插入图片描述

  2. 将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 举报,一经查实,本站将立刻删除。

相关推荐