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

时间:2012-07-04 11:17:50

标签: android listview baseadapter

我正在开发一个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;但没有运气。我不知道我错在哪里。

1 个答案:

答案 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()