MVVM框架之DataBinding的使用和框架封装

今天世界杯赌球又TM赢了,开心的激动的睡不着,写点东西来纪念此刻这小小的激动。

很早之前就一直流行的MVVM框架,之前一直无缘有机会使用,经过时间的沉淀,这个框架越来越流行起来,随之流行起来的还有DataBinding这个充满戏剧性色彩的多功能布局。

databinding框架是一个数据框架,它主要的处理是在xml布局中对复杂的界面做处理,不仅简化了频繁地findViewById,还增加了代码的耦合性,同时这个框架还可以加快xml的解析速度,所以,我们还是要紧紧跟随时代进步才行。

在使用databinding中,遇到的问题

一、导入网上的demo时,布局中的databinding引入使用有问题
解决方法:app的build.gradle中缺少对databinding的框架的引入导致的
在buildTypes的外层上面添加上如下代码:
//...
//----------------------------------
    dataBinding{
        enabled = true
    }

//----------------------------------
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
这样,代码中引入的一些有关databinding的方法和工具类就可以正常使用了。
二、在activity中如果使用自定义binding时,会用到DataBindingUtil方法来创建布局,此时如果希望使用这个util,需要将对应的界面布局的根布局改为layout,这样才能正常创建binding类并使用上
代码如下:
private ActivityMainBinding binding;

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        binding = DataBindingUtil.setContentView(this, R.layout.activity_main);
    }
布局改根布局为layout即可

参考网址:https://blog.csdn.net/zhouxu88/article/details/78284198

这里写图片描述

猜你喜欢

转载自blog.csdn.net/dota_wy/article/details/80740789