1. ホーム
  2. java

[解決済み] 静的コンテキストからリソースの内容を取得するには?

2022-04-20 19:51:33

質問

からの文字列を読み込みたいのですが xml のような他の多くのことをする前に setText を呼び出すためのアクティビティオブジェクトがない場合、どのようにすればよいのでしょうか。 getResources() の上で?

解決方法は?

  1. のサブクラスを作成します。 Application 例えば public class App extends Application {
  2. を設定します。 android:name 属性で指定します。 <application> タグを AndroidManifest.xml を使用して、新しいクラスを指定します。 android:name=".App"
  3. onCreate() メソッドでコンテキストを保存します (例. this という名前の静的フィールドに格納します。 mContext を作成し、このフィールドを返す静的メソッドを作成します。 getContext() :

こんな感じでいいんじゃないでしょうか。

public class App extends Application{

    private static Context mContext;

    @Override
    public void onCreate() {
        super.onCreate();
        mContext = this;
    }

    public static Context getContext(){
        return mContext;
    }
}

これで使えるようになりました。 App.getContext() コンテキストを取得したいときはいつでも getResources() (または App.getContext().getResources() ).