Android 安卓DataBinding(二)·入门

举报
第三女神程忆难 发表于 2021/03/26 01:49:52 2021/03/26
【摘要】 文章目录 DataBinding介绍开始准备深入了解 DataBinding在代码中对TextView进行赋值TextView默认值使用class属性 DataBinding介绍 DataBinding 是谷歌官方发布的一个框架,其作用是实现数据绑定(Data binding),同时,也是因为有它,可以在安卓(Android)上实现MVVM...


DataBinding介绍

DataBinding 是谷歌官方发布的一个框架,其作用是实现数据绑定(Data binding),同时,也是因为有它,可以在安卓(Android)上实现MVVM架构。关于MVVM架构,请看完 Android 安卓DataBinding用法(一)Android 安卓DataBinding用法(二) 之后,再看我博客详解!


开始准备

本篇文章是深一层理解 DataBinding 用法,在使用DataBinding之前,需要先往Modle中android之下加入dataBinding,如下。

......

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


  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

深入了解 DataBinding

再上一期(Android 安卓DataBinding用法(一)·基础)讲了 DataBinding 的基础用法,如果你还没有看,请先去看完之后,再看此文章!


在代码中对TextView进行赋值

//使用ActivityMainBinding为id是textView2的TextView赋值
activityMainBinding.textView2.setText("我是新的值");

  
 
  • 1
  • 2

TextView默认值

根据上篇文章紧接着,如果在People没有赋值的时候,People的值是空的,此时TextView什么都不显示,而这事恰巧又一个默认值显示在TextView之上,这时候就需要用到 default ,如下写法,值不能出现空格。

<TextView
	...... android:text="@{data.name,default = HelloWorld}" ...... />

  
 
  • 1
  • 2
  • 3
  • 4

这是以在TextView上输出 HelloWorld 举例!如下图:
在这里插入图片描述


使用class属性

你也可以通过对data标签使用 class 属性来对 ViewDataBinding 进行命名,如下:

<data class="ActivityMainBinding2"> <import type="com.lkdot.mvvm.bean.PeopleBean" /> <variable name="data" type="PeopleBean" />

</data>

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

当命名为 ActivityMainBinding2 之后,就要在Activity中修改了!
将其 ActivityMainBinding 修改为 ActivityMainBinding2

private ActivityMainBinding2 activityMainBinding2;

  
 
  • 1

当然 DataBinding 不仅仅只是有这些功能,也不仅仅是只有这一种使用场景,它还可以用于Fragment中,甚至Recyclerview(列表中)

在Fragment中实现:

public class ThisFragment extends Fragment { private ThisFragmentBinding thisFragmentBinding; @Nullable @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { thisFragmentBinding  = DataBindingUtil.inflate(inflater, R.layout.this_fragment, container, false); return thisFragmentBinding.getRoot(); }
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

RecyclerView自然也不用多说,也可以通过这样的方式进行绑定!
下一期:Android 安卓DataBinding(三)·单向绑定 BaseObservable



文章来源: blog.csdn.net,作者:第三女神程忆难,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/qq_40881680/article/details/101781705

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

举报
请填写举报理由
0/200