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