86

我需要能够在我的strings.xml文件中的字符串中放置一个“-”。

我的问题是,当我输入字符串时"1261eba2-9d8c-11e1-93e3-40409e0f44a1",日食会大喊:

在这一行发现多个注释: - 将“-”替换为“破折号”字符(–、&;#8211;)

我怎样才能解决这个问题?

4

7 回答 7

123

因此,当您阅读错误消息时,您的答案将是您必须替换-–. 然后它应该可以正常工作=)

http://en.wikipedia.org/wiki/Dash

于 2012-05-14T06:51:45.547 回答
84

当您想向用户显示字符串时,其他答案都可以。用户无法真正区分“真实”破折号和 unicode 诡计。
但是,如果您真的必须使用破折号(例如,因为该字符串在某处用作密码,或者用作 API 的 url 键),那么您可以使用以下格式:

<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="TypographyDashes">
    <string name="EVA_API_KEY">3c42b725-5e20-41c8-982f-dee40be8a05b</string>
</resources>

警告将被删除,并且可以使用常规读取字符串:

getResources().getString(R.string.EVA_API_KEY);
于 2012-06-05T10:18:22.880 回答
14

在每个特殊字符前使用反斜杠(\)。像我一样\&安卓。

这称为转义字符。( \ )

于 2012-05-14T06:51:02.440 回答
4

对于连字符使用 (-) (-)...

<string name="abc">Welcome &#45; Bro...</string>

和更多符号使用下面的链接

http://www.degraeve.com/reference/specialcharacters.php

享受...

于 2014-11-05T12:12:19.983 回答
4
于 2014-12-29T00:11:22.800 回答
1

你可能有这个:

<string name="test1">1261eba2-9d8c-11e1-93e3-40409e0f44a1</string>

但是您需要以下任何一种:

<string name="test2">1261eba2&#8211;9d8c&#8211;11e1&#8211;93e3&#8211;40409e0f44a1</string>
<string name="test3">1261eba2–9d8c–11e1–93e3–40409e0f44a1</string>

在第二个中 - 被替换为 -。很难从视觉上分辨出区别。

于 2012-05-14T07:44:14.560 回答
0

The quick fix shortcut in Eclipse is Ctrl + 1 by default and in Android Studio is Alt + Enter by default.

于 2018-12-17T15:58:05.463 回答