美文网首页
DataBinding(三) — BaseObservable,

DataBinding(三) — BaseObservable,

作者: 奔跑的佩恩 | 来源:发表于2023-06-11 17:56 被阅读0次

前言

在之前的文章中,我们讲到了DataBinding加载图片,想了解的可以参看以下文章:
DataBinding(一) — 基本使用
DataBinding(二) — 加载图片
今天让我们来学习下DataBinding的双向数据绑定。

  1. BaseObservable实现数据双向绑定
    1.1 新建Userkotlin上的Parcelable序列化
    1.2 继承BaseObservable实现双向数据绑定
    1.3 DataBinding双向绑定在MainActivity中的使用
    1.4 BaseObservable效果图
  2. ObservableField实现数据双向绑定
    2.1 ObservableField实现数据双向绑定
    2.2 xml中使用变化
    2.3 MainActivity中调用
    2.4 ObservableField效果图

先来波效果图


BaseObservable效果图.gif
ObservableField效果图.gif

一. BaseObservable实现数据双向绑定

1.1 新建 User 类 kotlin 上的 Parcelable 序列化

最开始当然是DataBinding的库引用了,之前讲过,这里不做赘述。
这里我们以名字在EditText中实时变化为例。
新建一个User类,其中有一个属性name。先来看看实体类User如何实现Parcelable序列化。
app_module对应的build.gradle头部的plugins引用中添加Parcelable序列化插件:

plugins {
    id 'kotlin-parcelize' //序列化bean的Parcelable插件
    //其他代码省略
    //...... 
}

然后实体类User类头部加上@Parcelable注解并 继承Parcelable,User代码如下:

package com.ktdemo.entity

import android.os.Parcelable
import kotlinx.parcelize.Parcelize

/**
 * Title:
 * description:
 * autor:pei
 * created on 2023/4/12
 */
@Parcelize
class User() : Parcelable{

    var name :String?=null

    constructor(name:String?) : this() {
        this.name=name
    }

}
1.2 继承BaseObservable实现双向数据绑定

BaseObservabledataBinding一套中的组件,其功能是建立ViewModel间的数据通讯,作用上类似LifeCycle系统中的ViewModel
先建一个UserObservable继承自BaseObservable,并在其中引用User实体类,并做实现双向数据绑定的处理。下面贴出UserObservable代码:

相关文章

  • DataBinding

    dataBinding的使用 一、databinding的配置方法 二、databinding的基本使用 三、da...

  • 3. BaseObservable

    通过Observable的方式去通知UI数据已经改变了 我们的实体类要继承BaseObservale类 Gette...

  • Data Binding Observable

    BaseObservable 两种域改变通知UI刷新 @Bindable和notifyPropertyChange...

  • DataBinding原理深入理解

    DataBinding的三种写法 我们使用DataBinding可以实现绑定字段和View的绑定,注意有单向绑定和...

  • MVVM

    DataBinding基础用法 DataBinding入门 Android数据绑定框架DataBinding,堪称...

  • DataBinding其三

    双向绑定 DataBinding剩下的注解 很快啊,就来到了DataBinding的第三篇。在这里将介绍DataB...

  • DataBinding添加监听

    这章介绍DataBinding添加监听。如果不了解DataBinding的话,请查看[DataBinding的简单...

  • DataBinding系列(二):DataBinding的基本用

    在上一章 DataBinding系列(一):DataBinding初认识,我们已经认识了DataBinding,并...

  • Android MVVM模式的理解

    在之前的系列文章DataBinding系列(一):DataBinding初认识中讲过了关于DataBinding用...

  • Jetpack学习-4-DataBinding

    使用 然后同步新建继承自BaseObservable类 在字段get方法上添加@Bindable注解,在set方法...

网友评论

      本文标题:DataBinding(三) — BaseObservable,

      本文链接:https://www.haomeiwen.com/subject/mtzxydtx.html