我尝试使用具有属性type="id"
<item name="viewpager_id_base" type="id"/>
<integer-array name="viewpager_dates" type="id">
<item type="id">0</item>
<item type="id">1</item>
<item type="id">2</item>
<item type="id">3</item>
<item type="id">4</item>
<item type="id">5</item>
<item type="id">6</item>
<item type="id">7</item>
<item type="id">8</item>
<item type="id">9</item>
<item type="id">10</item>
</integer-array>
但是id不会在R文件中创建id。仅限viewpager_id_base
appiared
答案 0 :(得分:2)
我知道很久以前这个问题,但有人可能会觉得我的答案很有用。
示例xml:
<resources>
<item name="first_id" type="id" />
<item name="second_id" type="id" />
<item name="third_id" type="id" />
<array name="default_ids">
<item>@id/first_id</item>
<item>@id/second_id</item>
<item>@id/third_id</item>
</array>
</resources>
获取id数组:
TypedArray typedArray = getResources().obtainTypedArray(R.array.default_menu_ids);
int[] ids = new int[typedArray.length()];
for(int ind=0; ind<typedArray.length(); ind++){
ids[ind] = typedArray.getResourceId(ind,0);
}
typedArray.recycle();
getResourceId的第二个参数是默认id,以防你弄乱了。
(老实说,我不知道为什么人们会对这个问题进行投票。问题非常明确。)
答案 1 :(得分:1)
使用以下代码:
<string name="earth">Earth</string>
<string name="moon">Moon</string>
<string-array name="system">
<item>@string/earth</item>
<item>@string/moon</item>
</string-array>
请参阅以下链接以获取更多信息: -
答案 2 :(得分:1)
似乎你不能在xml文件中这样做。 试试这个:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<item name="id1" type="id"/>
<item name="id2" type="id"/>
<item name="id3" type="id"/>
<item name="id4" type="id"/>
<item name="id5" type="id"/>
</resources>
并在你的java代码中:
int[] idArrays = new int[]{R.id.id1, R.id.id2, R.id.id3, R.id.id4, R.id.id5} ;