0

是否可以在arrays.xml 中有布局ID。我尝试了以下方法,但它不起作用:

<integer-array name="layouts_list">
        <item>R.layout.layout1</item>
        <item>R.layout.layout2</item>
        <item>R.layout.layout3</item>
        <item>R.layout.layout4</item>
        <item>R.layout.layout5</item>
</integer-array>


还有其他选择吗?
但是,我可以在 constants.java 中有一个整数数组,但只是想知道是否有人做过与上面类似的事情。

4

2 回答 2

2

正确的语法是

<integer-array name="layouts_list">
    <item>@layout/layout1</item>
    <item>@layout/layout2</item>
    ...
</integer-array>

但我很确定这不会起作用,因为@layout/layout1它不是整数类型。

什么起作用但需要一些手动提取是这样的:

<array name="layouts_list">
    <item>@layout/layout1</item>
    <item>@layout/layout2</item>
    ...
</array>

您可以使用getResources().obtainTypedArray来获取TypedArray表示此数组的内容。然后,您可以使用它getResourceId来获取资源 ID。不要忘记recycle()你的TypedArray

于 2013-07-31T22:42:44.300 回答
0

也许您可以尝试在 R 类中获取真正的 int 并将该值放入 arrays.xml。

于 2013-07-31T22:34:54.393 回答