2012-04-05 84 views
2

我正在使用Eclipse 3.7.2。Android字符串资源参考

我不知道为什么,但最后一行会导致错误highlightning

<string name="app_name">Test</string> 
<string name="title">@string/app_name</string> <!-- works //--> 
<string name="txt_text">Checkout @string/app_name this works</string> <!-- works //--> 
<string name="txt_recommend">@string/app_name is not working</string> <!-- error //--> 

有没有解决办法?

+1

尝试清理该项目。 – 2012-04-05 12:46:07

+0

show xml and code – 2012-04-05 12:46:38

+0

您可以粘贴app_name.xml文件的内容。目前尚不清楚,我们需要更多信息来帮助你。 – Xarialon 2012-04-05 12:47:58

回答

6

我相信你不能在XML中混合引用和文本。改用格式化占位符。

http://developer.android.com/guide/topics/resources/string-resource.html#FormattingAndStyling

而不是

<string name="app_name">Test</string> 
<string name="txt_recommend">@string/app_name is not working</string> 

这看起来像

<string name="app_name">Test</string> 
<string name="txt_recommend">%s is not working</string> 

并在代码:

String text = String.format(res.getString(R.string.txt_recommend), res.getString(R.string.app_name)); 
+0

是的,这是正常的方式:) 但我只想编辑xml文件 – Mario 2012-04-05 13:00:32

+0

但我找不到一个引用XML中的其他资源的例子 - 我怀疑这是可能的,但现在不能测试。这是可以的,为什么你的第三条线现在也不起作用。 (我猜你在这种情况下不能单靠eclipse输出) – mattanja 2012-04-05 13:10:46

0

该错误可能是从山高nd最后一行,而不是最后一行。

<string name="txt_text">Checkout @string/app_name this works</string> 

在这一行你似乎与参考(“@字符串/ APP_NAME”)

被混合文本(“结帐”和“这个作品”),我不认为你可以做,只是在XML。

+0

是的,它似乎是这样,坦克为你的答案 – Mario 2012-04-10 10:28:50