TextView抛出显示字符串资源的设计器错误

问题描述:

在Eclipse中使用默认布局处理新的Android项目时,我发现了一个我确定记录的行为......某处...但我无法识别出位置。TextView抛出显示字符串资源的设计器错误

当strings.xml中“你好”资源包含一个字符串,它看起来像这样:

<string name="hello" 
    formatted="false">@BrandingName: Branding phrase ending with @ 
    </string> 

Eclipse的设计师的ArrayIndexOutOfBounds抛出一个解决资源价值。我猜这是因为它不知道如何正确地转义“@BrandingName:”的某个部分?使用TextView正确显示它的方法是什么?

仅供参考TextView的节点如下:

<TextView 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/hello" /> 

用“@”启动字符串资源会在设计器中导致错误。领先的空间将防止该错误。前导空格看起来并没有在TextView中呈现。

尝试使用实体,而不是“@” - &#64

还有,如果你想为你的字符串格式化,你可以这样使用CDATA:

<string name="hello"><![CDATA[ @BrandingName: Branding phrase ending with @ ]]></string> 
+0

@ BrandingName:以@结尾的品牌短语产生相同的异常。只要在@之前有一个空格,使用CDATA的配方就可以工作。很明显,用@试图启动一个字符串资源,以间接的方式解析资源... – 2012-04-10 22:05:00

+0

+ + +1为了让我足够接近以找到领先错误(至少它看起来像一个错误) – 2012-04-23 04:31:09