将布局ID添加到arrays.xml中

时间:2013-07-31 22:02:32

标签: android android-layout

是否可以在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中有一个整数数组,但只是想知道是否有人做过类似的事情。

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

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