为许多字符串执行TextView.setText()的最佳方法

时间:2014-03-25 21:22:10

标签: android string printing textview settext

我有一个需要检查随机数的应用程序,然后从string.xml文件中打印出来。这是我目前的代码(它确实继续,但它只是声明了randNum和rand):

randNum = rand.nextInt(59);
 switch (randNum){
     case 1:
          random.setText(R.string.f_vocab1);
          break;

这个(需要)还有59个案例和字符串。我刚刚开始Android开发,所以我没有一个更好的方法来做到这一点。有人可以告诉我一个更好的方法吗?

1 个答案:

答案 0 :(得分:3)

您可以在strings.xml中定义一个字符串数组,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array
        name="string_array_name">
        <item>first_string</item>
        <item>second_string</item>
    </string-array>
</resources>

在您的代码中,您可以使用以下行访问此数组:

String[] stringArray = getResources().getStringArray(R.array.string_array_name);

现在生成随机数并按索引获取字符串:

int randNum = rand.nextInt(59);
random.setText(stringArray[randNum];

注意:获取随机数不是我想的,因为你会得到负值。你必须在你的switch-block或我建议的阵列方法中正确处理这个问题。