アクティビティ コンテキストを使用しないリソース コンテンツへのアクセス
アクティビティの初期化前にリソース コンテンツにアクセスする必要がある場合、アクティビティが提供するため、問題が発生する可能性があります。 getResources() メソッド。この制限を回避する方法は次のとおりです。
アプリケーション サブクラスの作成:
アプリケーション クラスを拡張してカスタム アプリケーション クラスを作成します。例:
public class App extends Application {}
AndroidManifest の設定 参照:
AndroidManifest.xml で、<application android:name=".App" ...>
...
</application></p>
</li>
<li>
<p><strong>静的コンテキストと取得メソッド:</strong></p>
<p>アプリ クラスの onCreate() メソッドで、コンテキストを保存します。静的フィールドにコピーし、それを返す静的メソッドを作成します。例:</p>
<pre class="brush:php;toolbar:false">public class App extends Application {
private static Context mContext;
@Override
public void onCreate() {
super.onCreate();
mContext = this;
}
public static Context getContext() {
return mContext;
}
}
リソース アクセス:
これで、次を使用してコンテキストとリソースを取得できます:
Context context = App.getContext(); Resources resources = context.getResources();
このメソッドを使用すると、Activity オブジェクトが存在する静的コンテキストからリソースのコンテンツにアクセスできます。利用できない場合があります。
以上がアクティビティコンテキストなしでリソースコンテンツにアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。