Вызвать AsyncTask из статического класса
У меня есть статический класс, который должен вызывать другой, первый является статическим и мешает мне вызвать второй со следующей ошибкой:
No enclosing instance of type Studies is accessible. Must qualify the allocation with an enclosing instance of type Studies (e.g. x.new A() where x is
an instance of Studies).
AsyncTask Class
class DownloadFileAsync extends AsyncTask<String, String, String> {
@Override
protected void onPreExecute() {}
@Override
protected String doInBackground(String... aurl) {}
}
Статический класс
public static void startDownload(int id) {
ERROR LINE--> new DownloadFileAsync().execute("SOME URL");
}
Спасибо!
3 ответа
Ты можешь попробовать new Studies().new DownloadFileAsync().execute("SOME URL");
но это не совсем ООП стиль
Это старый вопрос, но если кому-то все еще интересно, вместо определения AsyncTask внутри вашего статического класса, вы можете определить его в своем собственном файле, и это будет сделано.