我试图在 android 的文本字段的开头插入一个“@”符号。我已在字符串资源文件中指定为
<string name="email_ext">@xyz.com</string>
但它会引发编译器错误-“未指定资源类型(在'email_ext',值为'@xyz.com')。有没有办法解决这个问题?我尝试使用setter设置它,但我有不同的资源不同语言的文件。在此先感谢。
我试图在 android 的文本字段的开头插入一个“@”符号。我已在字符串资源文件中指定为
<string name="email_ext">@xyz.com</string>
但它会引发编译器错误-“未指定资源类型(在'email_ext',值为'@xyz.com')。有没有办法解决这个问题?我尝试使用setter设置它,但我有不同的资源不同语言的文件。在此先感谢。
\
在此之前添加一个@
<string name="email_ext">\@xyz.com</string>
原因是 @ 是跨 Android 资源的任何引用的开放符号。@color/white
如果您定义了它,您可以使用 来指向颜色。正因为如此,编译器试图分配一个名为 xyz.com 的资源,但它实际上没有定义类型(例如可绘制、布局、id、字符串等)。因此编译器错误。
事实上,有一个更简洁的版本(在这里找到):
<string name="email_ext">"@xyz.com"</string>
使用引号看起来不那么老套
添加 \
<string name="email_ext">\@xyz.com</string>
我建议您将 \uxxxx 用于特殊字符,这是 unicodes 表http://jrgraphix.net/research/unicode_blocks.php?block=0,在您的情况下,您可以将 \u0040 用于@symbol,如下所示:
<string name="email_ext">\u0040xyz.com</string>
问候!