好的,我没有很好地解释我的问题所以这里修改了几次。
我有一个调查,调查产生一个整数。我将此数字转换为字符串文件名称,该名称与存储在我的资源中的预设字符串相关。根据对问题的选择,最后需要使用不同的字符串。
此代码生成所需的命令行; R.string.c ####
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;
此代码位于onCreate内,以生成TextView的内容。
textOut = (TextView) findViewById(R.id.ChmpNametxt);
textOut.setText(Test5);
现在我的概念是它将Test5读作“R.string.c ####”并加载所需的字符串。它不会这样做,我想知道如何将Test5的内容放入命令行。
希望有人可以帮助我制作...
先谢谢
-Chris
答案 0 :(得分:1)
你已经得到了正确答案:Creating Strings than can be used as Filepath - Eclipse / Android
在你的情况下:
String stringId = "c" + qTotal; //note: not the same as what you did with your Test5
int resId = getResources().getIdentifier(stringId, "string", getPackageName());
textOut.setText(resId);
或者我们是否误解了您对“命令行”一词的使用?
答案 1 :(得分:0)
您需要获取文本的资源ID,此代码会为您获取资源ID:
ContextWrapper cw = this.getContext();// how you get this can be different, but you need a ContextWrapper from somewhere to use.
int resId = cw.getResources().getIdentifier("c" + qTotal, "string", cw.getPackageName());
然后你可以使用文本In.setText和resId变量作为参数。