在android的字符串资源文本中使用@符号



我试图在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的资源,但它实际上没有定义类型(如drawable, layout, id, string等)。因此会出现编译错误。

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

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

使用引号看起来不那么粗糙

Add

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

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

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

问候!

最新更新