すでにあるvaluesフォルダと同じ階層にvalues-jaを作成し、同じXMLファイルを置いてやることで、
日本語専用のXMLファイルを用意することができ、本体の言語設定に応じて、どちらのXMLファイル
を使用するか選択させることができます。
このような仕組みをandroidでは「多言語化」と呼んでいますが、このような多言語化を行った際に
String.xmlの内容をString型で取得したい。とすぐになります。
一般的なString.xmlファイルからの値の取得方法は、下記のようになりますが、これでは、R.java
に記載されている「id」しか取得できません。
R.string.select_dir
※select_dirはString.xmlに定義されているものとします。
この解決方法として、android.content.Context.getStringメソッドを使用する方法があります。
String str = getString(R.string.select_dir);
としてやることで、String型でString.xmlファイルから値の取得ができます。
この方法は、Activity内では上記のように使用することができますが、共通部品のような、他の
クラスではContextが見つけられない事から、getStringメソッドが見つけられないため、使用
することができません。その場合のひとつの解決方法として、共通部品の引数にContextを増やし、
引数で、thisを渡してあげることで、解決することができます。
0 件のコメント:
コメントを投稿