Android 如何将参数转换为对象名称

Android 如何将参数转换为对象名称,android,arrays,resources,Android,Arrays,Resources,这段代码帮助我通过单击具有与数组名称相同的标记名称的按钮来加载数组。我知道这种方法令人头痛,因为有100多个按钮 private void altBasamakGetir(字符串kazanimNO) { Resources res=this.getResources(); infoTxt.setText(kazanimNO); 开关(kazanimNO) { 案例“kazanim_0”: { 字符串altBasamaklar[]=res.getStringArray(R.array.kazan

这段代码帮助我通过单击具有与数组名称相同的标记名称的按钮来加载数组。我知道这种方法令人头痛,因为有100多个按钮

private void altBasamakGetir(字符串kazanimNO)
{
Resources res=this.getResources();
infoTxt.setText(kazanimNO);
开关(kazanimNO)
{
案例“kazanim_0”:
{
字符串altBasamaklar[]=res.getStringArray(R.array.kazanim_0);
}
打破
案例“kazanim_1”:
{
字符串altBasamaklar[]=res.getStringArray(R.array.kazanim_1);
}
打破
案例“kazanim_2”:
{
字符串altBasamaklar[]=res.getStringArray(R.array.kazanim_2);
}
打破
案例“kazanim_3”:
{
字符串altBasamaklar[]=res.getStringArray(R.array.kazanim_2);
}
打破
}

}
您可能正在寻找的东西可以通过以下方式实现。但是,我将给出一个示例,说明如何在代码中使用比
开关更干净的方法来执行此操作

我建议使用Java接口。例如在某些地方,您仍然需要初始化这些值。
Map
将使用
String
键和
String[]
值。创建一个
void
函数来初始化它

public void initMap(HashMap<String, String[]> map)
{
  map.put("kazanim_0", Resources.getStringArray(R.array.kazanim_0));
  map.put("kazanim_1", Resources.getStringArray(R.array.kazanim_1));
  ....
}

非常感谢,我不想初始化值,不是有类似**R.array.getArrayByName(string)**的东西吗?很遗憾,我不认为有,你必须自己做。你可以观察反射,但我不太熟悉:
String[] myArray = map.get("kazanim_0);