Formatting stringsの書き方

「Multiple substitutions specified in non-positional format」でググると2番目に Stack Overflowが出てくる。

で、結局はこのページに辿り着く。

ここの Formatting stringsですごく簡単に説明されてるけど、サンプルを見てわかるのは複数の引数を持つフォーマット文字列には番号を付けないといけない。

<string name="welcome_messages">Hello, %1$s! You have %2$d new messages.</string>

この場合、文字列と整数が順番に出てくるんだけど、それぞれ %s, %d でなくて「%」とフォーマット文字の間に「番号$」を入れて %1$s, %2$dってなってる。


というわけで、自分の場合は文字列だけなので %s, %s を %1$s, %2$s にしてみるとこんな感じに。

<string name="test_format">%1$s (%2$s) is loaded.</string>

結果、エラーメッセージは出なくなったよ!