1

私は Android アプリケーションを開発しており、 Application Class でグローバル変数を管理していますMyAppData。これらのグローバル変数を使用するために、MyAppData次のようにアクティビティでオブジェクトを作成しています。

MyAppData mad;
mad = (MyAppData)getApplication();

私のアクティビティにはカスタム 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();
      }
}

私も試してみmad = (MyAppData)context;ましたが、運はありませんでした。どこを間違えたのかわからない。

4

1 に答える 1

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()その後、コード全体で使用できます。

于 2012-07-04T11:35:56.313 に答える