Kiba518

Kiba518

三线城市架构师一枚。

Fork me on GitHub

Android DataBinding使用详解

简介

DataBinding是一个自动绑定UI的框架。

使用DataBinding需要在app根目录的build.gradle文件中加入DataBinding配置:

android {
    ....
    dataBinding {
        enabled = true
    }
}

新版本Android Studio创建的项目都默认引入。

使用

新建一个TestActivity继承AppCompatActivity,代码如下:

public class TestActivity extends AppCompatActivity {
    private ActivityTestBinding binding;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        binding = ActivityTestBinding.inflate(getLayoutInflater());
    }
}

其中ActivityTestBinding的使用会提示红色,因为Activity还没有Xml页面。

下面新建activity_test.Xml。

新建完成后,回到TestActivity类,系统会提示我们引用ActivityTestBinding命名空间,引入后代码不再报错。

下面我对activity_test.Xml进行改名,将中间的_去掉,改为activitytest.Xml。

回到TestActivity,会发现代码有提示错误了。

我们将ActivityTestBinding改为ActivitytestBinding,T小写,发现系统又提示我们引入命名空间了。

最后,我们再将TestActivity类改名,发现代码不报错。

那么到这里,我们可以得出如下结论了:

databinding会自动绑定xml页面,其绑定规则是页面名activity大写A加Binding,如果页面名里有底杠,则底杠后面的字面变为大写。

PS1:新建页面时,以activity开头的xml才会被databinding自动绑定。 

PS2:Fragment同理,比如fragment_gallery.xml,对应的databinding就是FragmentSlideshowBinding。

PS3:databinding的命名空间是根命名空间,如:com.kiba.learn

----------------------------------------------------------------------------------------------------

注:此文章为原创,任何形式的转载都请联系作者获得授权并注明出处!
若您觉得这篇文章还不错,请点击下方的推荐】,非常感谢!

 

 

posted @ 2021-09-07 15:27  kiba518  阅读(2682)  评论(0编辑  收藏  举报