Android中的strings.xml文件出错
我已经在应用程序的string.xml
中声明了一个很长的string。
这样宣称
<string name="terms">PLEASE READ THESE TERMS OF USE CAREFULLY BY ACCESSING THIS .................</string>
但是这给了以下错误:
error: Apostrophe not preceded by \ (in PLEASE READ THESE TERMS OF USE CAREFULLY
张贴完整的string。 虽然,我的猜测是你的string中有一个撇号(')字符。 用(\)replace它,它将解决这个问题。 例如,
//strings.xml <string name="terms"> Hey Mr. Android, are you stuck? Here, I\'ll clear a path for you. </string>
参考:
解
strings.xml中的撇号应写为
\'
例
在我的情况下,我在我的strings.xml中的这个string有一个错误,我解决了它。
<item>Most arguments can be ended with three words, "I don\'t care".</item>
在这里你看到我的应用程序使用该代码正确构build。
这是我的应用程序中的实际string。
你必须把\放在撇号之前。 像这样\',同时检查你正在编辑strings.xml而不是values.xml(android studio会在你显示错误时将你指向这个文件)。 因为如果您编辑values.xml并尝试再次编译,错误仍然存在。 最近发生在我身上。
https://developer.android.com/guide/topics/resources/string-resource.html#FormattingAndStyling
逃避撇号和报价
如果string中有撇号或引号,则必须将其转义或将整个string括在其他types的引号中。 例如,这里有一些蜇伤和不起作用:
<string name="good_example">"This'll work"</string> <string name="good_example_2">This\'ll also work</string> <string name="bad_example">This doesn't work</string> <string name="bad_example_2">XML encodings don't work</string>
我在strings.xml中使用了希伯来语(RTL语言)。 我已经手动search这个string的string.xml:'比我添加了逃逸字符\ infront它(现在看起来像\“),仍然有相同的错误!
我再次search字符'和'replace字符'(英文写作),因为它显示从右到左看起来像'\在strings.xml!
问题解决了。
您可能能够使用unicode相当于xpstring中不支持的撇号和其他字符。 撇号相当于“\ u0027”。