1.配置
在gradle里面配置如下
android{
dataBinding{
enabled=true
}
}
2.使用
1.xml里面
以前我们的布局是这样的
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
...
>
<TextView
android:text="..."/>
</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<layout
xmlns:android="http://schemas.android.com/apk/res/android"
>
<data>
<variable
name="user"
type="com.melo.app.mvvm.UserInfo" />
</data>
<LinearLayout
...>
<TextView
...
android:text="@{user.name}"
/>
<TextView
...
android:text="@{user.sex}"
/>
</LinearLayout>
</layout>
2.activity中
public class MainActivity extends AppCompatActivity {
UserInfo userInfo;
ActivityMainBinding viewDataBinding;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
viewDataBinding = DataBindingUtil.setContentView(this, R.layout.activity_main);
userInfo = new UserInfo("德玛西亚", "男"));
viewDataBinding.setUser(userInfo);
}
}
public class UserInfo {
String name;
String sex;
public UserInfo(String name, String sex) {
this.name = name;
this.sex = sex;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
网友评论