我想在一个安卓项目的/res文件夹中创建一个整数列表。但是,我希望这些整数指向/res/raw中的资源。例如,我想要这样的东西:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<integer-array name="built_in_sounds">
<item>@raw/sound</item>
</integer-array>
</resources>
但是id看起来不像我能做到的,有什么方法可以做到吗?或者我应该只在java类中创建列表?
谢谢
发布于 2011-03-23 06:06:24
正确的答案实际上是,TypedArray
文档显示了资源列表的示例:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<array name="icons">
<item>@drawable/home</item>
<item>@drawable/settings</item>
<item>@drawable/logout</item>
</array>
<array name="colors">
<item>#FFFF0000</item>
<item>#FF00FF00</item>
<item>#FF0000FF</item>
</array>
</resources>
以及检索值的代码:
Resources res = getResources();
TypedArray icons = res.obtainTypedArray(R.array.icons);
Drawable drawable = icons.getDrawable(0);
TypedArray colors = res.obtainTypedArray(R.array.icons);
int color = colors.getColor(0,0);
发布于 2010-04-27 06:38:08
好吧,我终于知道怎么做了。我所做的就是创建一个数据库。数据库存储了我需要存储的所有原语,以及指向我需要引用的对象的指针。显然android SDK附带了对SQLite的支持。
发布于 2010-07-25 09:30:28
要在没有数据库的情况下在XML中执行此操作,请参阅:http://developer.android.com/guide/topics/resources/more-resources.html#Integer
https://stackoverflow.com/questions/2706201
复制相似问题