[解決済み] strings.xmlに実行時の値をプレースホルダーとして持たせることは可能ですか?
2022-03-16 08:55:09
質問
の文字列値にプレースホルダーを持たせることは可能ですか?
string.xml
実行時に値を割り当てることができますか?
例
ある文字列 PLACEHOLDER1 その他の文字列
解決方法は?
フォーマットとスタイリング
はい、以下からご覧ください。 文字列のリソース。書式設定とスタイル
を使用して文字列をフォーマットする必要がある場合
String.format(String, Object...)
であれば、stringリソースにformat引数を記述することで実現できます。例えば、次のようなリソースがあるとします。<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);
参照 文字列のリソース。複数形 をご覧ください。
関連
-
Android開発で「Attempt to invoke virtual method 'XXX()' on null object reference」というヌルポインター例外に遭遇する。
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] Androidのソフトキーボードをプログラムで閉じる/隠すにはどうすればよいですか?
-
[解決済み] 文字列の単語を反復処理するにはどうすればよいですか?
-
[解決済み] Bashで文字列が部分文字列を含むかどうかをチェックする方法
-
[解決済み] 英数字のランダムな文字列を生成する方法
-
[解決済み] 文字列が空かどうかを確認する方法は?
-
[解決済み] Javaで文字列を分割する方法
-
[解決済み] PHPのstartWith()関数とendsWith()関数
-
[解決済み] JavaScriptにおけるendsWith
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Android TextView : "setTextで表示されたテキストを連結しない" について
-
android E/RecyclerView﹕ アダプタが接続されていないため、レイアウトをスキップする。
-
GIF、Lottie、SVGA
-
ActivityはOnFragmentInteractionListenerを実装しなければならないに関する質問
-
telnet'が内部コマンドまたは外部コマンドとして認識されない 解決方法
-
アンドロイドのエリプサイズを使用する
-
Android Bluetooth 開発の基本プロセス
-
[解決済み] String.Formatで%をエスケープするには?
-
[解決済み】strings.xmlのパラメータは可能か?重複
-
[解決済み】strings.xmlで、ある文字列を別の文字列から参照する?