リソースファイルでの特殊文字の参照方法

リソース中で特殊文字を使う場合はコード中と違って文字参照をする必要があります。

例えば、コード中でボタンに次のような文字列を設定したとします。

Button button = findViewById(R.id.button);
button.setText("ボタンを     クリック");

この場合は表示文字列に空白がありますが、これらはコード中では空白として認識されるのでボタンにそのままの文字列が表示されます。

しかし、レイアウトファイルなどのリソースから空白や記号などの特殊文字を表すには文字参照をする必要があります。なぜならリソースファイルはxmlで記述されているからです。

さらにxmlはhtmlファイルと違い、文字実体参照できるのは次の4つの文字(全て半角)に限られます。

文字文字実体参照意味
<&lt;小なり
>&gt;大なり
&&amp;アンパサンド
"&quot;二重引用符

では、これ以外の折り返しをする空白類やその他の記号はどう表現するかというと数値実体参照で表します。たとえば、次のようにxmlファイルで文字参照できます。

<string name="button_str">ボタンを&#160;&#160;&#160;&#160;&#160;クリック</string>

この例では折り返ししない半角スペースを という16進数形式で(10進数表記なら )数値参照できます。このようにxmlファイルでは一部の文字は数値参照しなければならない場合があるのです。

関連項目
プライバシーポリシー