如何将字符串和整数连接成一个变量

时间:2011-05-24 15:52:16

标签: android string concatenation string-concatenation

这是一个真正愚蠢的问题,但我无法让它发挥作用。我已经使用了搜索选项,但无法找到我的答案。

我想做以下几点:

在res / strings.xml中我有几个字符串

<string name="good0">blablabla</string>
<string name="good1">balablabla2</string>
etc

我希望在发生某些事情时随机显示这些字符串:

Toast.makeText(this,R.string.good+(Math.random()*10), Toast.LENGTH_LONG).show();

但这不起作用。

非常感谢你的帮助!

4 个答案:

答案 0 :(得分:4)

使用String Array

strings.xml

<resources>
    <string-array name="messages">
        <item>blablabla</item>
        <item>blablabla</item>
    </string-array>
</resources>

然后,在代码中你会有类似的东西:

String[] messages = getResources().getStringArray(R.array.messages);
Random r = new Random();
String message = messages[r.nextInt(messages.length)];
Toast.makeText(this, message, Toast.LENGTH_LONG).show();

答案 1 :(得分:2)

你做不到。

您必须使用switch阻止。

String myString;

switch(Math.random() * 10) {
   case 0:
       myString = getString(R.string.good1);
       break;
}

Toast.makeText(this, myString, Toast.LENGTH_LONG).show();

答案 2 :(得分:2)

R.string.goodint,因为它指的是资源。此int标识XML文件中的字符串。 Android为其资源标识符提供getString()

Android Docs on String Resources

你必须以这种方式从资源文件中取出String,然后正常连接。

答案 3 :(得分:0)

如果您有多个字符串值或整数值,并且将它存储在单个字符串中,那么String Builder就是最好的  操作类型,例如,您有一个字符串数组  存储在单个字符串中然后显示此字符串然后使用它  方法。它将百分之百地工作,它太适合了  这类问题。**

String my_str=null;
StringBuilder bldr=new StringBuilder();
for(int j=0;j<5;j++)
  bldr.append(phonearray[j]).append(",");
my_str=bldr.toString();

在这种情况下,我将手机数组分配给单个字符串和  然后我会显示它等...

相关问题