У меня есть простое приложение - Button
-, которое извлекает данные из остальных API и TextView
, где эти данные отображаются. Я использую MVVM архитектурный образец. Когда ViewModel получает обратный вызов с извлеченными данными, я устанавливаю для него ObservableField. К сожалению, он не обновляет текст на экране, но всякий раз, когда я поворачиваю, данные устройства обновляются на экране.
Хорошо, хватит разговоров, я покажу вам код:
ViewModel
public class MyViewModel extends ViewModel{
private ObservableField<String> name = new ObservableField<>();
@Override
public void onListReceived(String username) {
super.onListReceived(list);
name.set(username);
}
public String getName() {
return name.get();
}}
и в XML:
<TextView
android:id="@+id/textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{viewModel.name}"
tools:text="some text"/>
Насколько я читаю, я думаю, что в этой строке должно быть '=' android:text="@{viewModel.name}"
между '@
' и '{
', но когда я добавляю его, очищаю проект и перестраиваю его, я получаю ошибка, которая не может быть исправлена DataBindingComponent
.
Есть идеи?
Заранее спасибо!