ObservableField的使用<;字符串>;Android数据绑定中的overstring

ObservableField的使用<;字符串>;Android数据绑定中的overstring,android,mvvm,android-databinding,two-way-binding,Android,Mvvm,Android Databinding,Two Way Binding,我是Android数据绑定新手,对ObservaleField的使用有一个疑问。 假设 private ObservableField<String> name; private String name; 私有可观察字段名称; 私有字符串名称; 在这两种情况下,我们都必须在设置新值时调用notifyPropertyChanged()。那么,ObservableField是否比String更具优势?ObservableField或LiveData是MVVM的重要概念 在xml中

我是Android数据绑定新手,对ObservaleField的使用有一个疑问。 假设

private ObservableField<String> name; 

private String name;
私有可观察字段名称;
私有字符串名称;

在这两种情况下,我们都必须在设置新值时调用notifyPropertyChanged()。那么,ObservableField是否比String更具优势?

ObservableField
LiveData
是MVVM的重要概念

在xml中,可以为xml定义可观察数据。这些数据总是通过xml进行观察。这意味着,如果将数据设置为name类,xml将自动更新

<data>
    <variable
        name="name"
        type="your.class.name"/>
</data>
接下来,在java代码中,将
observefield
名称插入到绑定中

YourBinding binding = DataBindingUtil.inflate(LayoutInflater.from(this), R.layout.your, null, false);
binding.setName(name);

不,在使用ObservaleField时不需要调用它。如果使用ObservaleField,则不必显式调用notify函数。你只需听一下它的变化。@Muhannad,@Ananth,谢谢你的澄清。我在setter方法中创建了新的observeField对象,这打破了逻辑。现在解决了。
YourBinding binding = DataBindingUtil.inflate(LayoutInflater.from(this), R.layout.your, null, false);
binding.setName(name);