0

我的应用程序的任何用户都可以创建一个新的“主题”并为其选择一个图标(从我定义/提供的图标集中)。有一个ImageButton显示当前选择的图标或默认图标,当用户单击它时,会打开一个带有网格视图的弹出窗口,允许用户将该图标更改为他认为合适的任何图标。

为此,我需要一个可供选择的图标的数组或列表,以便从中生成网格视图。

我能想到的最佳解决方案是创建一个引用这些图标的全局数组/字符串列表,但我不确定它的解决方案有多好。

使用数据库是一个不好的选择,因为每次我需要使用图标时都需要时间重新查询,而且效率不高。

另一种选择是将文件夹中的所有可绘制对象放入一个数组中,但也可能包含不需要的可绘制对象。

所以我的问题是什么才是最好的方法?

4

1 回答 1

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的索引。

于 2013-10-07T10:20:57.430 回答