初めに
定数の管理に便利なstrings.xmlですが、ActivityやFragmentを継承していないクラスで呼び出す際の方法をメモしておきます。
実装方法
私はApplicationクラスを継承したクラスにコンテキストを生成してしまい、定数取得用の関数を作成して呼び出し側のコードを少しでも削れるようにしてみました。
Model.java
public class Model extends Application {
private static Context context;
@Override
public void onCreate() {
super.onCreate();
context = this;
}
/**
* 定数取得関数
* strings.xmlに定義した定数をどこからでも取得できる
* @param resId R.string.resId
* @return String 定数
*/
public static String getConst(int resId) {
return context.getResources().getString(resId);
}
}
strings.xml
<string name="chat_list_delete_button_label">DELETE</string>
呼び出し側は以下のような記述で呼び出せます
Model.getConst(R.string.chat_list_delete_button_label);
以上です。
どなたかの参考になれたら幸いです。