撇号之前没有\
我有一个android应用程序中定义的string:
<string name="search_occurs">'{string}' occurs {times}</string>
这给出了错误:撇号没有在\之前(在{{}中出现{times})
我已经尝试了许多事情来解决这个问题:
<string name="search_occurs">\'{string}\' occurs {times}</string> <string name="search_occurs">'{string}' occurs {times}</string> <string name="search_occurs"><![CDATA['{string}' occurs {times}]]></string> <string name="search_occurs"><![CDATA[\'{string}\' occurs {times}]]></string>
我无法摆脱这个错误。 我错过了什么?
这些都应该根据http://developer.android.com/guide/topics/resources/string-resource.html#FormattingAndStyling工作:;
<string name="search_occurs">\'{string}\' occurs {times}</string> <string name="search_occurs">"'{string}' occurs {times}"</string>
只是把\之前'在你的string这是假的这是真的:)
你为什么不提供'
用你replace的string'
?
你也知道这样的构造?
<string name="profile_age_range_text_between">between %1$d and %2$d</string> <string name="unit_height_inches">%1$d\'%2$d ft</string> <string name="unit_distance_miles">%s mi</string>
用( \ )replace您的撇号( ' )或在每(')前加\
注意:只复制里面的()文本
确保您正在编辑正确的文件。 正如这个答案所指出的那样,当你得到这个错误时,Android Studio会打开一个与你的原始文件类似的values.xml
文件。 您必须在原始的strings.xml
文件(或任何有问题的字符)中添加\
。 否则,它会继续重复错误。
在回答https://stackoverflow.com/users/3339394/the-martian有一个通用的解决scheme来replace\'你必须将文本复制到一个文字编辑器(如记事本++),然后通过使用“在程序中replace“选项全部replace为”\“。 (因为我没有足够的声誉,我不得不把它写在一个答案抱歉!)
此错误是由string中使用的撇号造成的
用“这就是全部”代替撇号
我根据我的情况得到了解决scheme。
- select你的string.xml文件
- 在浏览器中右键单击并打开显示
- 编辑string.xml文件中的行并保存代码。
- 重新打开Android工作室并刷新解决scheme。
现在代码将运行。
注意:我在使用撇号时遇到了错误。 所以我改变成不能 。 现在我的scheme将起作用。