JetPack-DataBinding 简单使用

1.开启

  dataBinding{
        enabled=true
  }

2.布局和Bean

创建普通布局后,鼠标选中根布局,alt+enter 提示,convert to DataBinding模式,就会如下结构:
data 主要负责描述bean对象。下面是布局结构对象
import导入bean对象的路径
varable 变量标签
name 变量名字
type 变量类型
都很简单,好理解。



    
        
        
        
        
    
    
        
        
    

3.代码-主界面

代码如何这种结构的xml结构进行关联

布局文件转换为DataBinding的模式后,都会产生一个DataBinding类。规则是布局名称+DataBinding,如activity_main 就会产生ActivityMainBinding.忽略特殊字符。

//  第一种方式
  ActivityMainBinding binding = DataBindingUtil.setContentView(this,
                R.layout.activity_main);

//第二种方式
 ActivityMainBinding inflate = ActivityMainBinding.inflate(getLayoutInflater());

4.单向数据变化更新UI

4.1 实体类继承

改变数据后,调用 notifyChange(); 更新所有字段
notifyPropertyChanged(BR._all); 更新单个字段。

public class User extends BaseObservable {
    private String id;
    private String name;
...set方法
...get方法
   public void setName(String name) {
        this.name = name;
        notifyChange(); //更新所有字段
        notifyPropertyChanged(BR._all);
    }

5.双向绑定

就是数据变化可以通知UI,UI的变化也会更新数据。
最重要的是 android:text="@={user.name}" 多了=符号。

  

你可能感兴趣的:(JetPack-DataBinding 简单使用)