1

AsyncTaskを使用していて、getApplication()を使用してクラスApplicationを操作したいと考えています。しかし、getApplication()でエラーが発生し、シンボルが見つかりません。

私のコード:

public class  splash extends AsyncTask {
  protected config app;
  public  splash(Context context) {
  super();
  app = ((config) getApplication());
  this.context=context;
}

そして私が使いたいクラス:

public class config extends Application
{
  public Boolean  con=true;
  public int status=-1;
  public String actNum; 
  public void onCreate()
  {
    super.onCreate();
  }
}
4

1 に答える 1

7

インスタンスを取得したい場合は、Applicationそれでメンバーを初期化onCreate()し、クラス メソッドによって返すことができます。

public class ApplicationConfig extends Application {

  private static ApplicationConfig instance;

  public void onCreate() {
    super.onCreate();
    instance = this;
  }

  public static ApplicationConfig getConfig() {
    return instance;
  }
}

次に、次の方法でこのインスタンスをどこからでも取得できます。

ApplicationConfig conf = ApplicationConfig.getConfig();
于 2012-06-23T08:26:10.293 に答える