Android:如何在BaseAdapter类中创建应用程序类对象

Dil*_*rla 1 android listview baseadapter

我正在开发一个Android应用程序并在应用程序类中维护全局变量MyAppData.现在为了使用这些全局变量,我MyAppData在Activity中创建对象,如下所示:

MyAppData mad;
mad = (MyAppData)getApplication();
Run Code Online (Sandbox Code Playgroud)

由于我的活动有自定义Listview,我使用BaseAdapter填充LstView.现在我需要在BaseAdapter类中使用全局变量.以下代码不允许我创建MyAppData类的对象:

public class AlbumList_Adapter extends BaseAdapter{
Context context;
MyAppData mad;

      public AlbumList_Adapter(Context context){
      this.context = context
      mad = (MyAppData)getApplication();
      }
}
Run Code Online (Sandbox Code Playgroud)

即使我曾尝试mad = (MyAppData)context;但没有运气.我不知道我错在哪里.

Ale*_*tin 9

你可以有:

class MyApplication extends Application {

 private static MyApplication mInstance;

@Override
public void onCreate() {
  super.onCreate();
  mInstance = this;
}

public static MyApplication getInstance() { return mInstance; }

}
Run Code Online (Sandbox Code Playgroud)

然后您可以MyApplication.getInstance()在整个代码中使用.