LoginSignup
7
6

More than 3 years have passed since last update.

【Android 9.0 Pie】ActivityやFragment以外でのstrings.xmlの呼び出し方の例

Last updated at Posted at 2020-07-02

初めに

定数の管理に便利な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);

以上です。

どなたかの参考になれたら幸いです。

7
6
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
7
6