Мне нужно иметь возможность перехватывать изменения в MutableLiveData, который используется в двухсторонней привязке данных для создания нового пользователя.Причина, по которой мне нужно перехватывать выбросы (изменения) в MutableLiveData, заключается в том, что я хочу постоянно обновлять объект модели.
Лучшее, что я могу придумать, это следующее (в модели представления).
private MediatorLiveData<String> name = new MediatorLiveData<>();
name.addSource(name, n -> getModel().setName(n));
И затем представьте его как MutableLiveData для представления, чтобы разрешить двустороннюю привязку данных с EditText, как это.
public MutableLiveData<String> getName() {
return name;
}
Теперь это работает, как и ожидалось, и, возможно, этохорошее решениеОднако может ли кто-нибудь объяснить недостатки использования этого решения по сравнению с другими возможными решениями?По сути, это просто ужасный взлом или это должно было быть использовано таким образом?Если это не так, то как это можно сделать лучше?