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> 

参考:

http://www.mrexcel.com/forum/showthread.php?t=195353

https://code.google.com/archive/p/replicaisland/issues/48

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&apos;t work</string> 

我在strings.xml中使用了希伯来语(RTL语言)。 我已经手动search这个string的string.xml:'比我添加了逃逸字符\ infront它(现在看起来像\“),仍然有相同的错误!

我再次search字符'和'replace字符'(英文写作),因为它显示从右到左看起来像'\在strings.xml!

问题解决了。

您可能能够使用unicode相当于xpstring中不支持的撇号和其他字符。 撇号相当于“\ u0027”。