LoginSignup
4
4

More than 5 years have passed since last update.

[Android] String Resourceに別のString Resourceを含める

Posted at

String ResourceでFormatter(書式指定)を使えば、別のString Resourceを文字列内に含めることもできます。

このキャプチャの場合、「Cancelを選ぶと〜」の「Cancel」は「Cancel」ボタンのtextに指定しているString Resourceを使っています。

「Cancel」ボタンから「キャンセル」ボタンに変えたくなっても変更は一箇所ですみます。

スクリーンショット_2014-12-11_7_41_10.png

strings.xml
<string name="confirm_save">保存しますか?\n%sを選ぶと・・・</string>
<string name="cancel">Cancel</string>

%s の部分が指定した文字列に置換されます。
そこに別のString Resourceを指定ればOK。(あたりまえ)

HogeFragment.java
getResources().getString(R.string.confirm_save,
        getResources().getString(R.string.cancel))


// これも同じ。
String.format(getResources().getString(R.string.confirm_save),
        getResources().getString(R.string.cancel))

getResources().getString(resId) を短い名前のメソッドに切り出せばもっとすっきりしますね。

XMLだけではできないっぽい??

書式指定はこの辺りを参考に。
http://developer.android.com/reference/java/util/Formatter.html

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4