2012-04-10 9 views
0

Eclipseで新しいAndroidプロジェクトを使用しているときに、デフォルトのレイアウトで、どこかに文書化されていることがわかりました。TextViewが文字列リソースを表示するデザイナーエラーをスローする

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

Eclipseの設計者はリソース値を解決するにArrayIndexOutOfBoundsをスロー:

ときのstrings.xml「こんにちは」リソースは、次のようになります文字列が含まれています。これは、@ BrandingName:の一部を正しくエスケープする方法がわからないためだと思いますか? TextViewを使ってこれを正しく表示する方法は何でしょうか?

参考のためのTextViewノードは次のようになります。

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

答えて

0

文字列リソースを "@"で開始すると、デザイナーにエラーが発生します。先頭のスペースはそのエラーを防ぎます。先頭のスペースはTextViewにレンダリングされていないようです。

1

代わりに「@」のエンティティを使用してみてください - &も#64

そして、あなたは文字列の書式を設定しなければなりません

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

@ BrandingName:@で終わるブランドフレーズも同じ例外が発生します。 CDATAを用いた処方は、@の前にスペースがある限り機能します。どうやら、文字列リソースを@で開始すると、間接的にリソースを解決しようとします... –

+0

+1のバグを発見するのに十分近いところに私を持っている例(少なくともバグのようです) –

関連する問題