更多代码 - 此处创建的字符串R.string.c#### - c.####
是我想要作为setText运行的预定义字符串。
int Q1 = question1.getmCounter();
int Q2 = question2.getmCounter();
int Q3 = question3.getmCounter();
int Q4 = question4.getmCounter();
int qTotal = Q1 + Q2 + Q3 + Q4;
String Test5 = "R.string.c" + qTotal;
这就是我现在想要提供的“字符串”。
textOut = (TextView) findViewById(R.id.ChmpNametxt);
textOut.setText(Test5);
这是我想要的地方。
答案 0 :(得分:2)
您可以使用“getIdentifier”方法访问资源。它允许访问包的任何资源:
getResources().getIdentifier("c1123", "string", this.class.getPackageName());
您可以在第一个参数中传递任何变量,这对应于字符串的名称。 第二个参数指定搜索它的资源(字符串,可绘制,布局.....)。 第三个参数是应用程序的包名称。它指定使用哪个“R”。在您的情况下,您需要查看应用程序中包含的资源(“R”)。
编辑:此方法返回一个int,它对应于您要查找的资源的ID,例如R.string.c1123
Edit2:这个int应该用作setText函数的参数。
所以完整的代码是:
int resId = getResources().getIdentifier("c" + qTotal, "string", this.class.getPackageName());
textOut.setText(resId);