我想把字符'<' '>'在字符串资源中。
如果我在字符串中使用HTML编码:
<>
它适用于第一个版本。 但是,在项目的另一个构建之后,某些内容会自动将其转换为:
&lt;&gt;
所以我不能使用以前的编码...
试图把“&lt;”甚至“\&lt;”在字符串中将生成XML错误。
尝试使用CDATA将具有与上述相同的行为。
如何设置'&lt;'或'&gt;'这个垃圾的角色?
更新
我添加了“eclipse”标签,因为经过一些讨论后,它似乎是一个日食问题 - 有些东西会自动编辑我的XML文件。 更新的问题是 - 为什么eclipse有时会弄乱我的strings.xml文件并尝试自己编码特殊字符?
答案 0 :(得分:1)
这应该有效
<string name="angle_bracket">
<![CDATA[
<
]]>
</string>
如果不是,那么问题在于您项目中的其他地方。 (你可以通过在一个新的android项目中尝试它来确定)
答案 1 :(得分:0)
我目前的解决方法是在我的Java类中使用硬编码字符串。
String s = "<M>";
mTextView.setText(s);
另一个明显的给定答案(使用CDATA)在理论上是正确的,所以我会给它+1,但它在几个构建周期后无法在Eclipse环境中工作,因为Eclipse将CDATA部分转换为编码字符串(和然后我的字符串在我的应用程序中显示“CDATA ...”。
由于我没有找到更清洁的解决方案,这就是答案。