我正在开发一个Android应用程序并在应用程序类MyAppData
中维护全局变量。现在,为了使用这些全局变量,我在Activity中创建了MyAppData
对象,如下所示:
MyAppData mad;
mad = (MyAppData)getApplication();
由于我的活动有自定义Listview,我使用BaseAdapter填充LstView。现在我需要在BaseAdapter类中使用全局变量。以下代码不允许我创建MyAppData
class:
public class AlbumList_Adapter extends BaseAdapter{
Context context;
MyAppData mad;
public AlbumList_Adapter(Context context){
this.context = context
mad = (MyAppData)getApplication();
}
}
即使我曾尝试mad = (MyAppData)context;
但没有运气。我不知道我错在哪里。
答案 0 :(得分:9)
你可以:
class MyApplication extends Application {
private static MyApplication mInstance;
@Override
public void onCreate() {
super.onCreate();
mInstance = this;
}
public static MyApplication getInstance() { return mInstance; }
}
然后,您可以在整个代码中使用MyApplication.getInstance()
。