【问题标题】:Difference between @{} and @={} in android xml file?android xml文件中@{}和@={}的区别?
【发布时间】:2020-10-23 08:00:09
【问题描述】:
“android xml 示例中的表单数据”
<TextView android:text="@{viewmodel.name}"/>
<TextView android:text="@={viewmodel.name}"/>
【问题讨论】:
标签:
android
android-studio
android-layout
data-binding
android-viewmodel
【解决方案1】:
android:text="@{viewmodel.name}" 是单向绑定的语法
android:text="@={viewmodel.name}" 是 2 路绑定的语法
虽然第一个是只读的,但第二个允许您更新视图模型中字段的值
【解决方案2】:
您可以在 onClick 或 onChangeText 等属性中使用 @={} 进行两种数据绑定,... 您的视图在 xml 文件中,但不能在 Text 或 Color 属性中使用。
但您可以使用 @{} 用于 Text 或 Color 属性中的一种数据绑定方式。
因为 2 路数据绑定意味着当用户通过他在应用程序中的操作更改视图并且我们希望通过数据绑定更改我们的存储库或数据库中的数据。
夏天
@={} use for attributes like onClick or onChangeText and etc for 2 way data binding.
@{} use for attributes like Text, Color and etc for 1 way data binding.