此问题已解决,详情见评论。
我正在扩展现有的 Android 视图并加载一些自定义属性,如使用 XML 声明自定义 android UI 元素和定义自定义属性中所述。
布尔和整数格式的属性可以正常工作,但是当我尝试指定对数组资源的引用时,应用程序在启动时崩溃。我在 xml 资源文件中定义了一个整数数组,并尝试将其用作自定义视图的属性。
我可以使用数组资源来设置 android Spinner 类的“条目”属性而没有错误,所以这似乎是我的实现中的一个问题。logcat 消息似乎没有提供有关崩溃的任何具体信息,但我仍在寻找,所以如果我发现了什么,我会更新。
属性由(在 attrs.xml 中)声明:
<declare-styleable name="CustomView">
<attr name="values" format="reference"/>
<attr name="isActive" format="boolean"/>
</declare-styleable>
数组定义为(在arrays.xml 中):
<integer-array name="nums">
<item>1</item>
<item>2</item>
<item>3</item>
</integer-array>
我通过以下方式引用数组:
<com.test.CustomView cv:values="@array/nums" />
这会导致应用程序立即崩溃。此外,如果我引用颜色资源而不是数组,则应用程序不会崩溃。有谁知道如何处理这个问题?