(здесь французский, извините за возможные недоразумения)
Я новичок в привязке данных на 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. Обратите внимание, что я не хочу делать свой класс User доступным для наблюдения, выполнив:
public class User
{
public MutableLiveData<String> name;
public User(String name)
{
this.name.setValue(name);
}
}
потому что я лично предпочитаю держать этот Android-материал подальше от моей модели.
Как я могу изменить свою ViewModel, чтобы представление могло прослушивать изменения «имени»? Я видел некоторые вещи с аннотацией @Bindable, но я не совсем уверен, как ее использовать.
Спасибо за вашу помощь