使用String加载预设脚本

时间:2012-05-07 23:28:34

标签: java android eclipse command-line command

好的,我没有很好地解释我的问题所以这里修改了几次。

我有一个调查,调查产生一个整数。我将此数字转换为字符串文件名称,该名称与存储在我的资源中的预设字符串相关。根据对问题的选择,最后需要使用不同的字符串。

此代码生成所需的命令行; 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

2 个答案:

答案 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变量作为参数。