Android向けにプログラミングする場合、静的メソッドを使用する必要がある場合があります。ただし、静的メソッドでリソースにアクセスしようとするとgetString(R.string.text)
、エラーが発生します。静的にすることはできません。
誰かがこれを回避する良い方法を知っていますか?Androidのリソースファイルは、さまざまな言語で物を作成したり、テキストに変更を加えたりするのに非常に役立ちます。
いずれにせよ、そのためにはコンテキストが必要になります...静的メソッドの場合、これはおそらく、呼び出すときにコンテキストを渡す必要があることを意味します。
あなたが使用することができますResources.getSystem().getStringArray(android.R.array.done);
Context
(つまりActivity
) インスタンスをパラメーター オブジェクトとして静的メソッドに渡します。次に、パラメーターで呼び出しgetString
ます。
Application
以下の投稿は、現在のコンテキストを保存するためのクラスを作成するためのヒントを提供します。新しいApplication
クラスは、他の静的メソッドからアクセスできるようになります。
1 つの方法は、静的メソッドにコンテキストを渡すことです。これをチェックしてください、それは間違いなく機能します
public class Sounds {
public static MediaPlayer getSoundTouch(Context context){
return MediaPlayer.create(context, R.raw.touch);
}
public static MediaPlayer getSoundLeak(Context context){
return MediaPlayer.create(context, R.raw.leak);
}
public static MediaPlayer getSoundFinish(Context context){
return MediaPlayer.create(context, R.raw.finish);
}
}