Android TextView在显示字符串资源时引发设计器错误
在Eclipse中使用默认布局的新Android项目时,我发现了一个行为,我确信它是有文档记录的。。。某处。。。但我不知道在哪里 当strings.xml“hello”资源包含如下所示的字符串时:Android TextView在显示字符串资源时引发设计器错误,android,embedded-resource,Android,Embedded Resource,在Eclipse中使用默认布局的新Android项目时,我发现了一个行为,我确信它是有文档记录的。。。某处。。。但我不知道在哪里 当strings.xml“hello”资源包含如下所示的字符串时: <string name="hello" formatted="false">@BrandingName: Branding phrase ending with @ </string> <TextView android:la
<string name="hello"
formatted="false">@BrandingName: Branding phrase ending with @
</string>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello" />
<string name="hello"><![CDATA[ @BrandingName: Branding phrase ending with @ ]]></string>
@BrandingName:以结尾的品牌短语@
Eclipse设计器抛出ArrayIndexOutOfBounds来解析资源值。我猜这是因为它不知道如何逃离“@BrandingName:”的某些部分,对吗?使用文本视图正确显示此内容的方法是什么
作为参考,TextView节点如下所示:
<string name="hello"
formatted="false">@BrandingName: Branding phrase ending with @
</string>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello" />
<string name="hello"><![CDATA[ @BrandingName: Branding phrase ending with @ ]]></string>
尝试使用实体而不是“@”-@ 此外,如果您想为字符串设置格式,可以使用如下CDATA:
<string name="hello"
formatted="false">@BrandingName: Branding phrase ending with @
</string>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello" />
<string name="hello"><![CDATA[ @BrandingName: Branding phrase ending with @ ]]></string>
用“@”启动字符串资源将导致设计器出错。前导空格将防止该错误。前导空格似乎不会在文本视图中呈现。@;BrandingName:以@结尾的品牌短语;产生相同的异常。只要@前面有一个空格,CDATA的公式就有效。显然,以@开始字符串资源时,会尝试将该资源解析为一个间接寻址…+1示例使我非常接近于发现前面的-@bug(至少它看起来像一个bug)