アプリケーションクラスを使用してグローバルオブジェクトを定義しようとしています。 したがって私は以下のクラスを定義します。アプリケーションクラスを使用してアプリケーションからオブジェクトを共有する
public class MyApplication extends Application {
private MyObject myObject=new MyObject();
public MyObject getMyObject(){
return this.myObject;
}
}
その後、私が活動中でそれを使用するが、私は(メソッドのgetApplication()を解決することはできません)エラーが表示されます。私はそれとして、私はこのエラーを取得する理由は見当もつかない
public class AnActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_mood);
Button buttonMusic=(Button) findViewById(R.id.button5);
buttonMusic.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
MyApplication myApplication = ((MyApplication)this.getApplication());
Toast.makeText(MoodActivity.this, "playing music", Toast.LENGTH_SHORT).show();
}
});
}
}
を例は、別のアクティビティでgetApplication()を呼び出すときに機能します。
私はAndroidとJavaにはかなり新しいので、質問の工夫をしてください。
UPDATE
それから私はMyObjectにmyObject=myApplication.getMyObject();
行うと、私は、任意のコンパイルの問題を得ることはありませんが、アプリは、すぐに私はその活動に入るよう死にます。
このような用途にアプリケーションクラスを使用することはお勧めしませんが、良い選択肢は何ですか?
私の更新の答えをチェックしてください。 –