遗忘对于大部分人来说真的是一件太过理所当然,难以避免的事情。
然而在学习工作时遗忘真的是一件非常影响效率的事情,好记性不如烂笔头,为 避免今后遇到类似情况还得重新去各种网站寻找解答,也为了对自己的学习生活有一个记载,所以我决定开始写我第一篇博客。
万事开头难,初来乍到,先记录一篇关于databinding的配置问题吧。
当你要使用databinding时,首先得在app下的build.gradle文件下的android{..}目录下配置这些
buildFeatures{
dataBinding = true
viewBinding = true
}
之后,alt+enter在layout文件头插入databinding结构,再去activity或者其他控制文件声明绑定。
databingding的主要用处是双向绑定,首先在对应的布局xml文件中写一个variable变量,name是名称,type就是变量类型。
<data>
<variable
name="jeeyu"
type="com.example.databindingtest01.MyViewModel" />
</data>
之后,在一些小view控件例如Textview,Button之类的属性
android:text="@{String.valueOf(jeeyu.number)}"
number 是type属性的类中的方法, jeeyu是name属性自己命名
android:onClick="@{()->jeeyu.add()}"
此处,jeeyu是name,而add是type对应的类中的方法
databinding获取layout布局以及绑定ViewModel最重要的四句话
binding= DataBindingUtil.setContentView(this,R.layout.activity_main);//设置获取layout
model=new ViewModelProvider(this).get(MyViewModel.class);//此处是将ViewModel类传入
binding.setJeeyu(model);//指定具体的值给model
binding.setLifecycleOwner(this);//如果不设置,livedata将不起作用