String.xml和整数的字符串问题

时间:2013-11-15 02:33:48

标签: java android xml

我是初学者Android开发者 我的程序编译,但一行无法正常工作。

以下是该行:

String m = R.string.mess2 + time/1000 + R.string.mess3;

变量“time”是一个int

这是从中检索R.string.mess2和R.string.mess3的Strings.xml文件

<?xml version="1.0" encoding="utf-8"?>
<resources>
   <string name="mess2">Amazing, you read the End User License Agreement in </string>
   <string name="mess3"> seconds, go back and read it!</string>        
   </resources>

当应用程序启动时,字符串应该发生非常长的小数。

这通常适用于As3或C ++,但它在这里不起作用。

还有一件事,根据这些回复,你制作一个这样的数组:

String[] MyString;

所以[]放在变量类型而不是名称?

5 个答案:

答案 0 :(得分:2)

您应该使用以下代码来获取资源:

getResources().getString(R.string.someid)

否则,您使用的是资源的整数标识符,而不是xml中的字符串。

所以在你的情况下它应该是

String m = getResources().getString(R.string.mess2) + time/1000 + getResources().getString(R.string.mess3);

答案 1 :(得分:1)

R.string.mess2是ResourceId。

您应该使用

  

的getString(R.string.mess2)   从Android中的string.xml获取字符串。

答案 2 :(得分:1)

您可以尝试

<string name="mess">Amazing, you read the End User License Agreement in %d seconds, go back and read it!</string>    

java代码将是

String m = String.format(context.getResources().getString(R.string.mess), time/1000);

答案 3 :(得分:0)

您需要使用:

YourActivity.this.getString(R.string.mess2)+time/1000 + YourActivity.this.getString(R.string.mess2);

希望这有帮助。

答案 4 :(得分:0)

在android中使用getResources是一个很好的做法,有时你可以忽略警告,它会正常工作。