从资源中设置xml中的枚举值

Yan*_*niv 8 android android-custom-view

我正在为自定义视图构建一个自定义属性,这是一种enum类型.
我知道每个可选值都必须带有名称和值.我希望该值将从另一个资源给出,如以下示例所示(在文件attrs.xml中):

整数资源:

<integer name="example">0</integer>
Run Code Online (Sandbox Code Playgroud)

可模拟的声明:

<declare-styleable name="FontStyleTextView" format="enum">
    <attr name="typeFace">
        <enum name="name1" value="@integer/example"/>
        <enum name="name2" value="1"/>
    </attr>
</declare-styleable>
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:

error: Tag <enum> or <flag> 'value' attribute must be a number, not "@integer/example"
Run Code Online (Sandbox Code Playgroud)

有没有可能的方法为value字段赋予另一个资源的值?

小智 0

不。就像错误所示“属性必须是数字”,并且您正在尝试使用引用。