【发布时间】:2019-06-01 12:55:30
【问题描述】:
(这里是法语,对可能的误解深表歉意)
我是 Android 数据绑定的新手,我正在努力解决一个相当简单的问题。
假设我有这个 POJO,我们将把它视为我的模型的一部分
public class User
{
public String name;
public User(String name)
{
this.name = name;
}
}
现在我有一个包含用户的 ViewModel
public class MyViewModel extends ViewModel
{
private User user = new User("blue");
public String getName()
{
return user.name;
}
public void setName(String name)
{
user.name = name;
}
}
我希望视图(活动)能够在此“名称”字段上进行双向数据绑定。我知道如何做 Activity 和 XML 的东西,比如设置 Binding 类等。我不知道的是,如何使 ViewModel 可观察到 User 类的“name”字段的任何更改。请注意,我不想通过以下方式使我的 User 类可观察:
public class User
{
public MutableLiveData<String> name;
public User(String name)
{
this.name.setValue(name);
}
}
因为我个人更喜欢让这些 Android 东西远离我的模型。
如何更改我的 ViewModel 以便 View 可以收听“名称”的更改?我已经看到了一些带有 @Bindable 注释的东西,但我不太确定如何使用它。
感谢您的帮助
【问题讨论】:
标签: android data-binding androidx android-jetpack two-way