Android-如何从资源中获取名称?

Android-如何从资源中获取名称?,android,Android,我指的是名称,而不是它的值,例如: <resources> <string name="magical_value_1">Lapin</string><br> <string name="magical_value_2">Poulet</string><br> <string name="magical_value_3">Saucisse</string><b

我指的是名称,而不是它的值,例如:

<resources>
    <string name="magical_value_1">Lapin</string><br>
    <string name="magical_value_2">Poulet</string><br>
    <string name="magical_value_3">Saucisse</string><br>
</resources>

拉宾
小鸡 酸辣酱
如果我使用
stringvalue1=getResources().getString(R.String.magical\u value\u 1)
结果将是Lapin,但我需要一种方法来获取变量中的
“magical\u value\u 1”
(不是Lapin)。我需要这样做是因为语言,我的应用程序中有很多语言,它们的值也会改变,但名称(神奇的值)是唯一剩下的(不管语言如何)。谢谢

请参阅

tl;dnr:

getResources().getResourceEntryName(int resid);

<>你应该考虑一下Android开发者文档。

如果你正在尝试让你的应用程序支持多种语言。这里有一些简单的例子

假设您正在尝试制作支持法语和英语的应用程序。您需要为英语创建res/values/strings.xml(确切地说,是法国以外的其他语言),为法国创建res/values-fr/strings.xml

内部res/values fr/string.xml

<resources>
    <string name="magical_value_1">Lapin</string><br>
    <string name="magical_value_2">Poulet</string><br>
    <string name="magical_value_3">Saucisse</string><br>
</resources>

拉宾
小鸡 酸辣酱
在res/values/string.xml中

<resources>
    <string name="magical_value_1">Rabbit</string><br>
    <string name="magical_value_2">Chicken</string><br>
    <string name="magical_value_3">Sausage</string><br>
</resources>

兔子
鸡肉
香肠

通过更改设置上的设备语言来测试它

你读过关于支持不同语言的书吗?在我听来,你试图支持不同的语言,但却试图以错误的方式实现……在他的例子中,
intresid
是做什么的?他在问如何将int值R.string.magical\u value\u 1转换成字符串“magical\u value\u 1”。这就是为什么我的答案是正确的!这就是我所做的,但我不确定当我改变一种不同于英语的语言时,这是不起作用的,但我现在已经解决了