android databinding 数据驱动视图不更新?

class HomeFragmentVM extends ViewModel {

public MutableLiveData<String> level = new MutableLiveData<>();

public void setLevel(String level) {

this.level.setValue(level);

}

public String getText() {

return this.level.getValue().equals("one") ? "等级1" : "other";

}

}

xml视图绑定如下:

<TextView

// ...

android:text='@{vm.getText()}'

/>

<Button

// ...

android:text='更新level'

android:onClick='@{(view) -> vm.setLevel("two")}'

/>

为什么我点击了按钮更新了 level 但是显示的文本没有更新?


回答:

没有为 viewmodel 设置生命周期所有者导致。

binding.setLifecycleOwner(activity);

以上是 android databinding 数据驱动视图不更新? 的全部内容, 来源链接: utcz.com/p/945306.html

回到顶部