通过发送变量访问Android getString()

时间:2014-08-26 04:22:35

标签: android

我有一个非常大的xml文件,我需要根据从微调器中选择的内容来拉取字符串。以下代码中的“第1周早......”是在微调器上选择的内容。

switch (selectedItem) {
        case "Week 1 Early - 9/7/2014":
            r2c1a = getString(R.string.w1er2c1away);
            r2c1aID = getResources().getIdentifier("com.myApp:drawable/" + r2c1a, null, null);              
            loadBitmap(r2c1aID, imgViewr2c1a);

因此,如果从微调器中选择“第1周早......”,它将从xml文件中检索字符串值,其中字符串名称为w1er2c1away。这会返回一个团队名称,例如“Bears”。以下行获取Bears的资源ID,然后loadBitmap将Bears图像加载到imgViewr2c1a图像视图中。我需要知道如何用字符串变量名替换“w1er2c1away”。我已经尝试将代码更改为

            case "Week 1 Early - 9/7/2014":
            //R2C1
            String tempText = "w1er2c1away";
            r2c1a = getString(R.string.tempText);

但是在第二个“tempText”下出现错误,“tempText无法解析或不是字段”。

1 个答案:

答案 0 :(得分:0)

您可能需要更改"com.myApp:string/",但我认为您需要使用:

r2c1a = getString(getResources().getIdentifier("com.myApp:string/" + tempText, null, null));