android activity关联,Android开发教程 - 使用Data Binding(三)在Activity中的使用

本系列目录

修改activity布局

如果使Activity支持Data Binding,在布局的最外层加入""标签即可,由于是加在最外层,所以即使重构现有工程,所做的修改也非常简单,并不会影响现有的布局结构。

以下以MainActivity进行举例。

修改前activty_main.xml的布局:

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical"

android:gravity="center"

>

android:id="@+id/tv_example"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:textSize="16sp"

/>

修改后activty_main.xml的布局:

xmlns:app="http://schemas.android.com/apk/res-auto">

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical"

android:gravity="center"

>

android:id="@+id/tv_example"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:textSize="16sp" />

这里的标签中的元素放的是页面所需的数据,后面的文章我们会讲到,也可以直接点击这里查看,这里我们暂且放一下,重点讲Activity中Data Binding的使用。

在Activity中进行绑定

上面我们修改了布局后,下面我们就可以在代码中进行数据绑定了。此时工程中会自动生成该布局对应的java绑定文件:ActivityMainBinding。仔细观察就会发现,这个文件名就是将布局的下划线形式转换成java规范的驼峰形式,后面加上Binding。

下面进入MainActivity.java中下面我们进行数据绑定操作。

如果写代码过程中发现IDE并没有自动正确生成对应的Binding类,则参考这篇文章:Android Studio不能正常生成相关类/方法的解决办法,仅需几步操作即可使IDE正常生成:

定义成员变量:

private ActivityMainBinding mBinding;

在onCreate()中初始化mBinding

@Override

protected void onCreate(@Nullable Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

mBinding = DataBindingUtil.setContentView(this, R.layout.activity_main);

mBinding.tvExample.setText("Binding Text");

}

此时就可以从mBinding中获取到布局中的所有View了,比如上面的mBinding.tvExample。

总结

Activity中使用Data Binding很简单,省去了模版化的代码findViewById(),也避免了使用ButterKnife等第三方库,省时省力。

除了获取布局中的元素,后续的文章我们会讲到如何设置布局中的数据,可以点击这里查看。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值