strings.xml
ファイルに次のように書きました。
<string name="game_settings_dragNDropMove_checkBox">Move by Drag&Drop</string>
次のようなエラーが出ました。
The reference to entity "Drop" must end with the ';' delimiter.
Strings.xmlに&という文字を書くにはどうすればいいですか?
それをエンコード:
&
特殊文字の場合は通常Unicode定義を使用します。 '&'の場合はその例です。正しい場合は\ u0026を使用してください。これはNiceのリファレンスページです。 http://jrgraphix.net/research/unicode_blocks.php?block=0
これは私の問題です。私の解決策は次のとおりです。>
に<
、<
に>
、&
に&
、"'"
に'
、"
に\"\"
を使用します。
あなたの質問にも答えられます、それでも私はこのようにもっと多くの実体を言いたいです。これらはhtml entities
なので、Androidでは次のように書くでしょう。
以下を以下に置き換えます。
& with &
> with >
< with <
" with ", “ or ”
' with ', ‘ or ’
} with }
これは次のようになります。
<string name="game_settings_dragNDropMove_checkBox">Move by Drag&Drop</string>
このページですべてのHTML特殊文字を見つけることができます http://www.degraeve.com/reference/specialcharacters.php あなたがどこにコードを置き換えその文字を入れたい。 :-)
あなたがExtract string resource
したときにAndroid Studioがあなたのためにするように、あなたの文字列の内容をXML CDATAに入れることも可能です。
<string name="game_settings_dragNDropMove_checkBox"><![CDATA[Move by Drag&Drop]]></string>
これはとても古いかもしれません。しかし、簡単なコードを探している人のために。
public String handleEscapeCharacter( String str ) {
String[] escapeCharacters = { ">", "<", "&", """, "'" };
String[] onReadableCharacter = {">", "<", "&", "\"\"", "'"};
for (int i = 0; i < escapeCharacters.length; i++) {
str = str.replace(escapeCharacters[i], onReadableCharacter[i]);
} return str;
}
エスケープ文字を処理するので、それぞれの配列に文字と記号を追加できます。
-乾杯
このように書くことができます
<string name="you_me">You & Me<string>
出力:あなたと私
エラーを回避するには、extract stringを使用してください。
<string name="travels_tours_pvt_ltd"><![CDATA[Travels & Tours (Pvt) Ltd.]]></string>
MacおよびAndroidスタジオのユーザー:
String.xmlまたはレイアウトに&などの文字を入力し、[Option]キーと[Return]キーを選択します。 スクリーンショットを参照してください