Android 安卓DataBinding(二)·入门
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
- 点赞
- 收藏
- 关注作者
评论(0)