0.开启mvvm许可
1,书写布局
<layout>包裹,<data>导入对象
<layout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
>
<data>
//导入的实体类类型
<variable
name="user"
type="com.example.model.UserBean" />
</data>
// 正常的最外层布局
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".BindtoActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
//这里是绑定属性的值
android:text="@{user.name}"
tools:ignore="MissingConstraints" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{user.passwd}"
tools:ignore="MissingConstraints" />
</android.support.constraint.ConstraintLayout>
</layout>
* 最外层用<layout>标签嵌套,注意layout的首字母是小写的“l”
* <layout>标签的下面紧跟着一个<data>标签,这个标签其实就是让我们进行数据绑定的一个标签
* <data>标签中,包含着<variable>标签,这个标签就是我们将“变量”放置的位置
* <variable>标签里面分别有<type> <name>两个标签,分别来标识变量类型和变量名称
* <type>标签 标识变量类型,比如java.lang.String这就是String类型,com.guaju.mvvm.bean.User 这个就是一个我自定义的一个User类型
* <name>标签 表示的就是我们定义的一个变量名称,这个变量名称我们会在下方的布局和对应的java代码中引用到
2,activity的绑定方法
//注意返回值 是ActivityMainBinding 而不是 ViewDataBinding(这个binding无法绑定数据)
//activity_main绑定之后的对象是 ActivityMainBinding 一定是生成规则的对象Binding才可以
ActivityMainBinding binding = DataBindingUtil.setContentView(this, R.layout.activity_main);
并测试绑定名称生成规则
//activity_bindto绑定之后的对象是 ActivityBindtoBinding 一定是生成规则的对象Binding才可以
ActivityBindtoBinding viewDataBinding = DataBindingUtil.setContentView(this, R.layout.activity_bindto);
viewDataBinding.setUser(userBean);
3,实体类属性编写
/**
* 用户的实体类
*/
public class UserBean {
//绑定了变化事件的属性
public ObservableField<String> name = new ObservableField<>();
以上就是整个mvvm的入门过程,格式化的东西比较多,需要多练习才能熟悉起来。