android - 如何从Android数据绑定(bind)中的类导入公共(public)静态字段

标签 android android-layout data-binding android-databinding

我想从 android 布局数据绑定(bind)中的接口(interface)常量导入一些字符串。

如果我使用此行,Gradle 构建会失败

android:drawableRight="@{item.icon.equalsIgnoreCase(Constants.FOOD_TYPE_NON_VEG)? @drawable/ic_nonveg : @drawable/ic_veg}"

但下面的行有效

android:drawableRight="@{item.icon.equalsIgnoreCase(`nonveg`)? @drawable/ic_nonveg : @drawable/ic_veg}"

示例 xml 为

<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">

    <data>

        <variable
            name="Constants"
            type="com.amelio.utils.Constants"/>

    </data>

    <TextView
        style="@style/tvVerySmall"
        android:layout_width="match_parent"
        android:drawableRight="@{item.icon.equalsIgnoreCase(`nonveg`)? @drawable/ic_nonveg : @drawable/ic_veg}"
        />

</layout>

Constants接口(interface)是

public interface Constants {
    String FOOD_TYPE_NON_VEG  = "nonveg";
}

如何在数据绑定(bind)中从 xml 布局中的界面导入字符串?

最佳答案

使用导入,而不是变量:

<data>
    <import type="yourfullpackagepath.Constants"/>
</data>

关于android - 如何从Android数据绑定(bind)中的类导入公共(public)静态字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50251383/

相关文章:

android - 如何在透明背景后面的 FloatingActionButton 中居中图像?

java - 为什么我的图像缩放不正确?

android-layout - 在运行时获取布局的高度和宽度

android - 对齐 2 个 View 底部,但一个被进一步推低

c# - 为什么datagridview不刷新?

javascript - Knockout - 在动态元素上绑定(bind)多个变量

java - 将异常抛出回调用方法

android - 应用内结算 v3,找不到 bindService() Intent

android - Firebase:将随机数据从 Firebase 拉到 RecyclerView (android)

design-patterns - 数据绑定(bind)作为一种设计模式