one answerは、別のクラスを作成し、静的なMyApplicationオブジェクトを作成してgetメソッドを作成する必要があると考えられます。その後、どのクラスもMyApplication.get()を呼び出してコンテキストを取得できます。非アクティビティクラスからコンテキストを取得する方法は?
他にも清潔な方法はありますか?これは私の状況です:
私はクラスAとクラスBを持っています。クラスAはクラスBのオブジェクトを含んでいます(オブジェクトbを呼び出してみましょう)。クラスAでは、 "b.play()"と呼びます。ただし、クラスBはMediaPlayer.create()メソッドにコンテキストを渡す必要があるため、NULLポインタ例外が発生します。
今まで私はハックを投げつけていました。クラスAからは、「b.play(this)」と呼ばれ、単にコンテキストをBに渡しました。しかし、これはかなり醜いですし、OOPの悪い使い方のようです。
どのような考えですか?
この質問は古いですが、より良い議論と明確な答えは、この重複質問に起こっている:http://stackoverflow.com/questions/7666589/using-getresources-in-non-activity-class – tir38