2011-06-14 38 views
3

我有110个图像,所有标记为1,2,3等,我希望能够设置它,以便我可以生成一个随机数,然后显示该图像屏幕上。显示部分很好,但我不确定数组。Android - 使用图像资源数组

到目前为止,我所看到的都是需要手动设置的数组 - 在XML中输入每个名称。对于10或15张图片,这并不坏。对于110或数千人(未来希望),效率非常低。有没有办法根据标题显示图像,而不是资源ID?理想情况下,我希望能够标记我的图片“ENG_1”和“SPA_1”以显示不同语言的不同图片,因此可以基于String而不是int来进行搜索(if这是一个字)和易于访问。

那么,我该如何开始呢?

回答

3

是的,有一种方法Resources.getIdentifier(String name, String defType, String defPackage)。您可以通过以下方式使用:

Resources resources = getResources(); 
int id = resources.getIdentifier("ENG_1", "drawable", getPackageName()); 
Drawable drawable = resources.getDrawable(id); 
+0

我们应该使用这种方法吗?我看到很多人说它会让应用程序变慢。 – anticafe 2011-06-14 06:30:05

+0

如果你能避免它,你不应该这样做。但如果你没有选择,那么它似乎是唯一的解决方案 – Michael 2011-06-14 12:22:07