我是初学者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;
所以[]放在变量类型而不是名称?
答案 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是一个很好的做法,有时你可以忽略警告,它会正常工作。