以编程方式获取在xml文件中定义的枚举值(在声明样式内)

时间:2019-09-10 10:26:34

标签: android xml enums custom-view

我在Android Studio中开发了一个自定义视图。该自定义视图具有自定义属性。该属性的可能值在资源标签中的声明样式标签中声明为枚举格式的attr,在xml文件中全部声明(参见下文)。

即使在此论坛上有很多有关访问xml定义的枚举的问题(包括答案​​),也没有一个实际上对我解决具体问题有帮助。

在文件customview_values.xml中:

<declare-styleable name="CustomView">
    <attr name="customViewMode" format="enum">
        <enum name="CUSTOMVIEW_UNDEFINED" value="0" />
        <enum name="CUSTOMVIEW_BLINKING" value="1" />
        <enum name="CUSTOMVIEW_ROLLING" value="2" />
        <enum name="CUSTOMVIEW_PULSING" value="3" />
        <enum name="CUSTOMVIEW_NOISE" value="4" />
    </attr>
</declare-styleable>

您可能会接受以下情况:每当更改此xml文件中的枚举值时,此更改应一致地传播到整个应用程序。每当一个人更改此xml文件时,都不必不必在代码中的其他地方改写程序化列表,因为这很容易出错(因此不利于合理的开发人员)。

由于这个原因,我需要一个解决方案,在该解决方案中,可以以编程方式(!)通过名称获取上述attr列表中每个条目的值。

我正在寻找的第二个应用程序是测试:我想编写一个测试,以检查上面定义的列表的一致性,该测试必然需要从xml文件中按名称读取相应的值。

天才,请帮助我,你是我唯一的希望!

0 个答案:

没有答案