не удается найти символ в getApplication () в AsyncTask

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();
  }
}
Теги:
android-asynctask

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();
  • 0
    Очень хороший способ получить глобальное приложение. Не забудьте объявить приложение в AndroidManifest.xml <application android:name="config"

Ещё вопросы

Сообщество Overcoder
Наверх
Меню