我的应用的任何用户都可以创建一个新的“主题”并为其选择一个图标(来自我定义/提供的图标集)。有一个ImageButton
显示当前选中的图标或默认图标,当用户点击它时,会打开一个带有gridview的弹出窗口,允许用户将该图标更改为他认为不错的任何图标。
为此,我需要一个数组或可供选择的图标列表,以便从中获取网格视图。
我能想到的最佳解决方案是创建一个引用这些图标的全局数组/字符串列表,但我不确定它的解决方案有多好。
使用数据库是一个不好的选择,因为每次我需要使用图标时都需要时间来重新查询,而且效率不高。
另一种选择是将文件夹中的所有drawables都放到一个数组中,但也可以包含不需要的drawables。
所以我的问题是什么才是真正最好的方法呢?
答案 0 :(得分:0)
我在我的一个应用程序中通过命名每个图标并给它一个数字来处理这个问题。 image1.png,image2.png等
然后我用它来检索我想要的图像。
public Drawable GetIcon(Context c, Integer ImageId) {
return c.getResources().getDrawable(c.getResources().getIdentifier("image" + Integer.toString(ImageId), "drawable", c.getPackageName()));
}
这样我只需要知道我想要的drawable的索引。