所以我遇到了一个与此非常相似的问题。
我的资源中有一堆图像,我希望能够存储哪个图像属于数据库中的每个项目。我最终使用数据库中的项目 ID 作为图像的唯一标识符。id 对应于我的 DbIcons 类中的常量。当我构造我需要的任何对象时,我从该帮助程序类中检索了资源 ID。
当我想检索正确的图像时,我会从数据库中获取 id,然后调用静态方法 getIcon(categoryId)。这将返回 R.id 值,并将其传递给 ImageView。
这是我的代码的片段。为了让它更短,我删除了大部分变量和 switch 语句:
公共类别(int id)
{
这个.id = id;
这个.name = "";
这个.icon = null;
this.iconResourceId = DbIcons.getIcon(id);
this.plateIconResourceId = DbIcons.getPlateIcon(id);
}
公共类 DbIcons
{
/* 类别 ID */
私有最终静态 int CAT_BABY = 1;
私有最终静态 int CAT_BAKED_GOODS = 2;
私有最终静态 int CAT_BAKING = 3;
/* 盘子 ID */
私人最终静态int PLATE_BABY = 1;
私人最终静态int PLATE_BAKED_GOODS = 2;
私人最终静态int PLATE_BAKING = 3;
公共静态int getIcon(int cat)
{
开关(猫)
{
案例 CAT_BABY:
返回 R.drawable.baby;
案例 CAT_BAKED_GOODS:
返回 R.drawable.bakedgoods;
案例 CAT_BAKING:
返回 R.drawable.baking;
}
返回 R.drawable.default;
}
公共静态int getPlateIcon(int plateIcon)
{
开关 (plateIcon)
{
案例 PLATE_BABY:
返回 R.drawable.baby_plate;
案例 PLATE_BAKED_GOODS:
返回 R.drawable.bakedgoods_plate;
案例 PLATE_BAKING:
返回 R.drawable.baking_plate;
}
返回 R.drawable.default;
}
}
我希望这是有道理的并有所帮助。如果你想让我澄清更多,请问。