我正在尝试使用应用程序类定义全局对象。 因此,我定义了以下类。使用应用程序类通过应用程序共享对象
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();
,我没有得到任何编译问题,但应用程序,只要我在这一活动得到死亡。
据我所知,不建议使用应用程序类的这种用途,什么是一个很好的选择?
检查我更新的答案。 –