我正在嘗試使用應用程序類定義全局對象。 因此,我定義了以下類。使用應用程序類通過應用程序共享對象
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();
,我沒有得到任何編譯問題,但應用程序,只要我在這一活動得到死亡。
據我所知,不建議使用應用程序類的這種用途,什麼是一個很好的選擇?
檢查我更新的答案。 –