前面我们讲到了Data Binding在Activity中的使用和在Fragment中的使用,在两者的布局文件中,都可以绑定数据(对象),本篇文章我们就来介绍数据的绑定。
站在用户的角度思考问题,与客户深入沟通,找到河源网站设计与河源网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站制作、成都做网站、企业官网、英文网站、手机端网站、网站推广、域名注册、网站空间、企业邮箱。业务覆盖河源地区。
在这个标签中,我们通常用来做下面的事情:
示例如下:
<data>
<import type="android.view.View" />
<import type="android.text.TextUtils" />
<variable name="visible" type="boolean"/>
<variable name="title" type="String"/>
<variable name="user" type="cn.examplecode.androiddatabinding.User"/>
</data>
其中"<import/>"标签表示引入一个类,比如上例中引入了View类和一个工具类TextUtils,当然也可以引入你自己的类,比如常量类或者工具类。
下面"<variable/>"标签定义了本页面所需要的各种数据名称或类型,其类型可以是java中的基础类型,或者自定义的类。
上面定义了页面中所需要的数据后,下面就需要通过获取到的Binding对象设置这些数据:
mBinding.setVisible(true);
mBinding.setTitle("用户信息");
User user = new User();
user.setName("Steve Jobs");
mBinding.setUser(user);
这里的setXXX()方法也是IDE自动根据<data>标签中的定义自动生成的。
如果写代码过程中发现IDE并没有自动正确生成对应的setXXX()方法,则参考这篇文章:Android Data Binding没有正常生成相关类/方法的解决办法,仅需几步操作即可使IDE正常生成。
数据设置完毕以后就可以在页面中使用这些数据了,使用起来也非常方便,比起在java代码中操作,可以省去不少代码。
<TextView
android:id="@+id/tv_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{title}"
android:visibility="@{visible ? View.VISIBLE : View.GONE}"
/>
<TextView
android:id="@+id/tv_username"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{user.name}"
/>
请注意上面的代码:
android:text="@{title}"
这一行是设置变量"title"的值到TextView中。
android:visibility="@{visible ? View.VISIBLE : View.GONE}"
这一行是根据变量"visible"的值来控制该TextView的显示与否,注意这里需要在<data>标签中引入android.view.View类,来使用View中的VISIBLE和GONE常量,这里可以使用问号表达式来判断。
android:text="@{user.name}"
user是一个自定义对象,user.name意思是取user对象中的name的值。
User定义如下,注意必须设置getter/setter:
public class User {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
##总结
通过本篇文章相信你已经了解如何将数据与View进行绑定,这是Data Binding的核心,也是MVVM架构模式的基础,这里介绍的是比较简单的绑定,后面我们将介绍更加深入的使用,使用这些技术后就会发现Data Binding的强大和高效率。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
网站名称:Android开发教程-使用DataBinding(五)数据绑定-创新互联
标题网址:https://www.cdcxhl.com/article40/gheho.html
成都网站建设公司_创新互联,为您提供域名注册、网站导航、虚拟主机、微信小程序、商城网站、品牌网站建设
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联