我想要一个drawable
id 整数值数组,我可以像这样存储integer-array
in res/values/XXX.xml
通过使用integer-array
标签。下面是声明的整数数组strings.xml
<integer-array name="icons">
<item>1</item>
<item>2</item>
<item>3</item>
<item>4</item>
</integer-array>
但我想存储可绘制图像 ID,例如@drawable/someImage
作为 xml 中的整数数组。
OR是否有任何替代方法可以将可绘制整数 id 存储为 xml 中的整数数组。
I think TypedArray
就是您正在寻找的。我有使用它的样本。如果您有兴趣,请看下面的代码:
First, integer-array
in res/values/arrays.xml
:
<integer-array name="frag_home_ids">
<item>@drawable/frag_home_credit_return_money</item>
<item>@drawable/frag_home_transfer</item>
<item>@drawable/frag_home_balance</item>
<item>@drawable/frag_home_charge</item>
<item>@drawable/frag_home_finance_cdd</item>
<item>@drawable/frag_home_finance_ybjr</item>
<item>@drawable/frag_home_more</item>
</integer-array>
Second,以编程方式获取资源整数值:
TypedArray tArray = getResources().obtainTypedArray(
R.array.frag_home_ids);
int count = tArray.length();
int[] ids = new int[count];
for (int i = 0; i < ids.length; i++) {
ids[i] = tArray.getResourceId(i, 0);
}
//Recycles the TypedArray, to be re-used by a later caller.
//After calling this function you must not ever touch the typed array again.
tArray.recycle();
Third,像这样调用整数值:
holder.iv.setImageResource(ids[position]);
当然,你可以得到整数值string
, color
, integer
, layout
, menu
...这样。
我希望这些代码能给您带来启发。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)