1

我使用一个独立的库在 Android 中执行一个动作。如果出现错误,库会引发异常,其中包含整数可解析字符串错误代码(如"233")。有几个错误代码。我想创建一个属性文件来将错误消息映射到错误代码。

这很容易,但是外部化字符串(如R.string.divisionError = 2130968584)的 ID 值可以在任何构建中重新生成,因此它们不稳定,可以更改值。

我不能像这样写入该属性文件 stg:

233=2130968584

我可以把

233=divisionError

然后使用反射查找divisionError在 R.string.class 中调用的字段,获取其值并使用getString(int).

没有更好的方法吗?

4

1 回答 1

1

该类android.content.res.Resources有一个方法getIdentifier(String name, String defType, String defPackage),当您知道其名称时,您可以使用该方法获取数字资源 ID。

因此,您可以将资源名称放入您的属性文件中,然后使用此方法获取 id。

于 2012-12-23T07:50:48.467 回答