简体   繁体   English

ObservableField 的使用<string> Android 数据绑定中的字符串</string>

[英]Usage of ObservableField<String> over String in Android Databinding

I am new to Android Databinding and have got one doubt on the usage of ObservableField.我是 Android 数据绑定的新手,对 ObservableField 的使用有一个疑问。 Suppose,认为,

private ObservableField<String> name; 

private String name;

In both cases, we have to call notifyPropertyChanged() while setting the new value.在这两种情况下,我们都必须在设置新值时调用 notifyPropertyChanged()。 So, is there advantage of ObservableField over String?那么,ObservableField 比 String 有优势吗?

ObservableField or LiveData is important concept of MVVM. ObservableFieldLiveData是 MVVM 的重要概念。

In your xml, you can define Observable data for xml.在您的 xml 中,您可以为 xml 定义 Observable 数据。 This data is always observed by xml. xml 始终观察到此数据。 That means, if you set data to your name class, xml will be updated automatically.这意味着,如果您将数据设置为您的名称 class,xml 将自动更新。

<data>
    <variable
        name="name"
        type="your.class.name"/>
</data>

And, use it in xml.并且,在 xml 中使用它。 For example, use name for TextView .例如,使用TextView的名称。

<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="@={name}"/>

Next, in your java code, insert your ObservableField name to binding.接下来,在您的 java 代码中,将ObservableField名称插入绑定。

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM