nmtysh.log

Tech系のネタや日々の独り言などを書いています。

Androidメモ:javaコードからstring.xmlに定義した文字列を利用する

Androidプログラミングのメモ書き string.xmlに定義した文字列はプロジェクトの/gen/R.java(リソースファイル)から参照できる。 この中でリソース参照用に定義されている定数を使用して参照する。 文字列の場合は、R.stringに定義されていて、R.string.nameで参照できる。 ボタンの場合は、R.id.name
例えば、string.xml<string name="finish_label">Finish</string> と定義してあれば、ソースで getString(R.string.finish_label) とすることで、このnameの文字列(Finish)を取得することができる。 ボタンの場合は、 (android.widget.Button)findViewById(R.id.name) android.widget.Button型にキャストしているのは、findViewById()の戻り値がandroid.view.View型のため明示的なキャスト変換が必要なため。

09/11/11追記:
文字列は、 getResources().getText(R.string.finish_label) でも取得できました。

09/11/14追記:
getString()を使うと<b>、<i>、<u>タグの書式設定を無視した文字列が返されます。 eclipseでstring.xmlファイルに<b>、<i>、<u>を記述する場合は、直接xmlを編集しないと駄目のようです。(リソースタブで編集するとタグがエスケープされる)。