<String> 在 Android 数据绑定中使用 ObservableField over String



我是Android Databinding的新手,对ObservableField的使用有一个疑问。 假设

private ObservableField<String> name; 
private String name;

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

ObservableFieldLiveData是MVVM的重要概念。

在 xml 中,您可以为 xml 定义可观察数据。此数据始终由 xml 观察。这意味着,如果将数据设置为名称类,则 xml 将自动更新。

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

并且,在 xml 中使用它。例如,对TextView使用名称。

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

接下来,在 Java 代码中,将ObservableField名称插入到绑定中。

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

最新更新