rokkonet

PC・Androidソフトウェア・アプリの開発・使い方に関するメモ

android開発 Do not concatenate text displayed with setText. Use resource string with placeholders.

2022 Mar. 20.
2022 Mar. 19.

コードの中で文字列を連結することは非推奨。
文字列リソースの中で定義すればよい。

string.xmlの記述例

%1$s : 最初のパラメータを文字列としてこの位置に置く
%2$s : 2番目のパラメータを文字列としてこの位置に置く
%3$d : 3番目のパラメータを整数としてこの位置に置く
%4$d : 4番目のパラメータを整数としてこの位置に置く
%5$f : 5番目のパラメータを(小数点)数値としてこの位置に置く
%6$f : 6番目のパラメータを(小数点)数値としてこの位置に置く

<string name="sampleString">AB%1$sCD%2$sEF%3$dGH%4$dIJ%5$fkl%6$fmn</string>


kotlinコード例
val str1: String = "op"
val str2: String = "qr"
val int3: Int = 12
val int4: Int = 34
val float5: Float = 5.6
val float6: Float = 7.8
val outStr =
        Context.getResources().getString(
            R.string.sampleString,
            str1, str2, int3, int4, float5, float6
        )


outStrの内容
ABopCDqrEF12GH34IJ5.6kl7.8mn