После просмотра документации по привязке данных о разнице между <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
.