我正在制作游戏,我想从资源文件中提取apprpriate对话框,但是哪个字符串可以从一个级别拉到另一个级别。
我怎样才能让它发挥作用?
我想要这样的东西:
int level = 3;
String dialog = getResources().getString(R.string.["level_dialog_"+level]);
目标是使用字符串资源的名称加上级别找到apprpriate字符串资源ID。但当然,甚至不会编译。
这样做的正确方法是什么?
答案 0 :(得分:2)
感谢AJcodez让我沿着正确的道路前进。即使你回答的不是正确的。
我自己找到了正确答案:
要按字符串名称获取资源,已有一个android函数作为Resources对象的一部分:
int id = getResources().getIdentifier("level_"+1+"_intro", "array", getPackageName());
String[] level1 = getResources().getStringArray(id);
第一行,我获得了资源ID。参数是resournce的名称,类型(数组,id,字符串,drawable等),第三个参数是包名称。
在第二行中,我现在可以获得资源,就像使用R.array一样。
(注意自己:RTFM)
答案 1 :(得分:1)
我会将您的字符串存储在字符串数组中,然后通过数组的索引访问字符串。见这里:http://developer.android.com/guide/topics/resources/string-resource.html#StringArray