0

我试图在 android 的文本字段的开头插入一个“@”符号。我已在字符串资源文件中指定为

<string name="email_ext">@xyz.com</string>

但它会引发编译器错误-“未指定资源类型(在'email_ext',值为'@xyz.com')。有没有办法解决这个问题?我尝试使用setter设置它,但我有不同的资源不同语言的文件。在此先感谢。

4

3 回答 3

4

\在此之前添加一个@

<string name="email_ext">\@xyz.com</string>

原因是 @ 是跨 Android 资源的任何引用的开放符号。@color/white如果您定义了它,您可以使用 来指向颜色。正因为如此,编译器试图分配一个名为 xyz.com 的资源,但它实际上没有定义类型(例如可绘制、布局、id、字符串等)。因此编译器错误。

事实上,有一个更简洁的版本(在这里找到):

<string name="email_ext">"@xyz.com"</string>

使用引号看起来不那么老套

于 2013-06-18T16:01:05.433 回答
3

添加 \

<string name="email_ext">\@xyz.com</string>
于 2013-06-18T16:02:44.533 回答
0

我建议您将 \uxxxx 用于特殊字符,这是 unicodes 表http://jrgraphix.net/research/unicode_blocks.php?block=0,在您的情况下,您可以将 \u0040 用于@symbol,如下所示:

<string name="email_ext">\u0040xyz.com</string>

问候!

于 2013-06-18T16:08:47.910 回答