审核后Data Binding documentation <import/>
之间的区别和 <variable/>
, 目前尚不清楚它们有何不同。以下是从文档页面中获取的示例。
<import type="com.example.real.estate.View" alias="Vista"/>
看起来相当于
<variable name="user" type="com.example.User"/>
除了一个alias
可以以大写字母开头,而name
不能。它们的用法甚至相似。
<data>
<import type="com.example.MyStringUtils"/>
<variable name="user" type="com.example.User"/>
</data>
…
<TextView
android:text="@{MyStringUtils.capitalize(user.lastName)}"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
我从示例中看到的唯一区别是您可以调用 import
的方法,但不是 variable
的。
最佳答案
如果您想将一些数据传递给 View ,您可以使用variable
。在您的示例中,您有 User 类型的用户变量,您使用它在 TextView
中设置用户名。您可以调用变量方法 - user.lastName
等同于 user.getLastName()
使用import
,您只指定要使用的类,不传递任何数据。在您的示例中,导入的实用程序类仅用于将用户名大写,capitalize
方法将其作为参数接收。
关于android - 数据绑定(bind)时导入和变量之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52171727/