string.xml
実行時に値を割り当てることができるプレースホルダーを文字列値に含めることは可能ですか?
例:
文字列PLACEHOLDER1文字列
ベストアンサー1
書式設定とスタイル
はい、以下をご覧ください文字列リソース: 書式設定とスタイル設定
を使用して文字列をフォーマットする必要がある場合は
String.format(String, Object...)
、文字列リソースにフォーマット引数を配置することでフォーマットできます。たとえば、次のリソースを使用します。<string name="welcome_messages">Hello, %1$s! You have %2$d new messages.</string>
この例では、書式文字列には 2 つの引数があります。
%1$s
文字列と%2$d
10 進数です。次のように、アプリケーションからの引数を使用して文字列を書式設定できます。Resources res = getResources(); String text = String.format(res.getString(R.string.welcome_messages), username, mailCount);
基本的な使い方
getString
文字列をフォーマット文字列として使用するオーバーロードがあることに注意してください。
String text = res.getString(R.string.welcome_messages, username, mailCount);
複数形
複数形を処理する必要がある場合は、次のようにします。
<plurals name="welcome_messages">
<item quantity="one">Hello, %1$s! You have a new message.</item>
<item quantity="other">Hello, %1$s! You have %2$d new messages.</item>
</plurals>
最初のmailCount
パラメータは、使用する形式 (単一または複数) を決定するために使用され、他のパラメータは置換されます。
Resources res = getResources();
String text = res.getQuantityString(R.plurals.welcome_messages, mailCount, username, mailCount);
見る文字列リソース: 複数形詳細については。