我可以在XML中存储drawable的int ID吗?

时间:2013-12-22 09:49:45

标签: java android

所以我试图将我的数据组织成XML:

<hands>
    <punch>
        <id>1</id>
        <move>Reverse Punch</move>
        <jap>Gyaku Zuki</jap>
        <thumb>2130837505</thumb>
    </punch>
</hands>

来自XML的数据被解析并最终在散列映射中。我想像这样画出来:

thumb.setImageURI(Uri.parse(Main.ROOT + Integer.parseInt(moveList.get(MoveView.KEY_THUMB))));

使用ID而不是通过R.drawable.img引用它们好吗?

谢谢!

2 个答案:

答案 0 :(得分:2)

你不应该存储来自R类的常量,你应该始终通过R.drawable.img来引用它们。原因是整数值可能随时发生变化,并且不能保证每次构建应用程序时都是相同的。

答案 1 :(得分:1)

您应该将图像名称存储在drawable中。在你的情况下,你应该存储“img”并使用此代码在你的应用程序中获取android Id:

int id = getResources().getIdentifier(elementName,"drawable", getPackageName());