2015年4月10日金曜日

[Android] strings.xmlに可変パラメータを埋め込む(sprintf的な)

strings.xmlに静的な文字列だけでなく、文字列の一部がプログラムによって動的に埋め込まれるような文字列を設定したい場合(つまりはよくある言語のsprintf的なことをしたい場合)は、次の例のようにします。


<!-- 「商品名(X)はY円になります」 と出力できるように設定する。X、Yが可変パラメータ -->
<string name="sentece">商品名(%1$s)は%2$d円になります</string>
view raw gistfile1.xml hosted with ❤ by GitHub
String sentence = getString(R.string.sentence, "ボッコちゃん", 540);
// sentenceに構築される文字列は「商品名(ボッコちゃん)は540円になります」になる
// 1$, 2$の部分がgetStringに渡される引数(パラメータ)の順番、これを囲む%s, %dは出力フォーマットを表現している
// フォーマットに関してはFormatterで規定されている
// See Also. http://developer.android.com/reference/java/util/Formatter.html
view raw gistfile2.java hosted with ❤ by GitHub

0 件のコメント:

コメントを投稿