我想通过传递其值来获取字符串资源名称或 ID。
例子 :
<string name="stringName">stringValue</string>
我想传递 stringValue 并获取 stringName 或 ID(id 值)
基于 ID,我将进行一些计算以获取另一个 String 资源的另一个 ID
我不知道这是否可能,并且我认为如果新生成 R 类,ID 可能会在没有警告的情况下更改。你当然可以在这门课上尝试一些反射魔法,但我建议不要这样做。
我也有这个问题,可以想到两种可能的解决方法:
我正在实施第二个,因为我的字符串资源列表不是很大,而且我不必经常执行此操作。一旦知道名称,就可以通过以下方式获取资源 ID:
//Get resource id from name
var resourceId = (int) typeof (MyApp_droid.Resource.String).GetField(MyStringName).GetValue(null);
(代码是 C#,因为我在 Xamarin 中工作)。